Supported apps
| App | Connection write mode | MCP | Skills | App-specific capabilities |
|---|---|---|---|---|
| Claude Code | Current-connection switching | Yes | Yes | Plugins, role models, sessions |
| Claude Desktop | Current-connection switching | No | No | Official and third-party connections |
| Codex | Current-connection switching | Yes | Yes | OAuth, model catalog, session history |
| Cherry Studio | Confirmed Deep Link import | No | No | Provider and API-key import |
| Grok Build | Current-connection switching | Yes | No | Profiles and API backends |
| Kimi Code | Current-connection switching | No | No | Providers, models, limits, capabilities |
| OpenCode | Multiple connections coexist | Yes | Yes | Multiple models, sessions, OMO |
| OpenClaw | Multiple connections coexist | No | No | Default model, tools, environment |
| Hermes | Multiple connections coexist | Yes | Yes | Models, rate limiting, memory |
Current-connection switching emphasizes one live connection. Coexistence writes multiple connections into the tool so it or OcHub can select among them. Cherry Studio import opens its own confirmation dialog and does not directly write the app’s database.
Default paths
| Content | Default location |
|---|---|
| OcHub data | ~/.ochub/ |
| OcHub database | ~/.ochub/ochub.db |
| User app plugins | ~/.ochub/apps/*.toml |
| cc-switch migration source | ~/.cc-switch/ |
| Claude Code | ~/.claude/; MCP is commonly ~/.claude.json |
| Codex | ~/.codex/ |
| Grok Build | ~/.grok/ |
| Kimi Code | ~/.kimi-code/ |
| Cherry Studio | OcHub does not write its data directory; import uses cherrystudio:// |
| OpenCode | ~/.config/opencode/ |
| OpenClaw | ~/.openclaw/ |
| Hermes | ~/.hermes/ |
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/ and Claude-3p/ |
| Claude Desktop (Windows) | %LOCALAPPDATA%\\Claude\\ and Claude-3p\\ |
A custom directory in App settings overrides this table. Restart OcHub after changing it.
Connection states
| State | Meaning |
|---|---|
| Current | The target app is currently using this connection |
| Added | Present in the tool, but not current |
| Direct connection | The tool calls the provider directly |
| Model provider mode | The tool calls the OcHub local gateway |
| Applied | A model provider has been written to the app |
| Disabled | Configuration remains, but cannot be applied or routed |
Model provider interfaces
| Interface | Typical client |
|---|---|
| Anthropic Messages | Claude-compatible clients |
| OpenAI Chat | Chat Completions-compatible clients |
| OpenAI Responses | Clients using the Responses API |
Automatic routing prefers the client’s native interface and tries another enabled interface when the model or interface fails. Conversion cannot add a model or capability the upstream does not have.
Minimal MCP JSON
stdio:
{
"type": "stdio",
"command": "my-mcp",
"args": ["--stdio"]
}SSE:
{
"type": "sse",
"url": "https://example.com/sse"
}Server configuration must be a JSON object. Exact fields depend on both the MCP server and target app.
Terms
- App
- An AI tool whose configuration OcHub manages, such as Claude Code or Codex.
- Connection
- A set of API, official-login, or model-service connection details.
- Direct connection
- A tool-to-provider request that does not pass through the OcHub gateway.
- Model provider
- An upstream configuration used by the local gateway for protocol conversion, model mapping, and interface-candidate retry.
- Configuration drift
- A live file changed outside OcHub after OcHub last read it.
- Pricing model
- The model whose price is used for a usage record; it may come from the request or response.
- Profile
- A logical name inside remote sync storage that isolates multiple OcHub datasets.
Security reminders
- Never publish API keys, OAuth tokens, or personal sessions in an issue, screenshot, or document.
- Do not expose the local gateway directly to the public internet.
- Run only trusted MCP commands and skills.
- Back up before replacing a database or deleting sessions or connections.
- Do not let OcHub and another configuration manager write the same file at once.

