Vibe Coding
Back to Multica

Multica / How does the agent work?

AI programming tool comparison

Multica supports 13 AI programming tools; they implement the same set of interfaces, but the details of their capabilities vary greatly.

AI programming tool comparison key concepts infographic
AI programming tool comparison key concepts infographic

Overview

Multica has built-in support for 13 AI programming tools. They all implement the same interface for queuing, dispatch, execution, and result reporting, so you can direct any of them from the same Multica board. But they differ greatly in the details of their capabilities: whether session recovery is really useful, whether MCP is supported, where the skill files should be placed, and how to choose the model. This page is a complete comparison.

For guidance on selecting tools when creating agents, see Creating and Configuring Agents.

Ability comparison matrix

Tools Vendors Session Recovery MCP Skill Injection Path Model Selection
Antigravity Google ✅ (--conversation <id>) .agents/skills/ Dynamic Discovery (agy models)
Claude Code Anthropic .claude/skills/ static + flag
CodeBuddy Tencent .claude/skills/ Dynamic discovery
Codex OpenAI $CODEX_HOME/skills/ static
Copilot GitHub .github/skills/ Static (account rights are determined)
Cursor Anysphere .cursor/skills/ Dynamic discovery
Hermes Nous Research .agent_context/skills/ (fallback) Dynamic Discovery
Kimi Moonshot .kimi/skills/ Dynamic Discovery
Kiro CLI Amazon .kiro/skills/ Dynamic Discovery
OpenCode SST .opencode/skills/ Dynamic discovery + variant
OpenClaw Open source project .agent_context/skills/ (fallback) Bound to the agent and cannot be switched in the task
Pi Inflection AI ✅ (session is the file path) .pi/skills/ Dynamic discovery
Qoder Alibaba .qoder/skills/ Dynamic discovery

Positioning of each tool

Antigravity

Presented by Google. The CLI binary name is agy, which is used with the Google Antigravity service and uses the Gemini series model by default. Multica uses agy -p to start Antigravity because this is a one-time non-interactive mode suitable for daemon background tasks; agy -i requires a TTY connection and is not suitable for background execution. Currently, the Antigravity CLI can still execute tools under agy -p, but stdout is plain text rather than a structured event stream, so Multica will forward transcript as text, and tool-by-tool telemetry cannot be displayed for the time being. Conversation recovery really works - With --conversation <id>, the daemon grabs the conversation UUID from the CLI log file. Model selection is really useful - via the --model flag (new in agy 1.0.6): the daemon uses agy models to enumerate the options and pass the selected value as it is. Note that these are human-readable display names like Claude Opus 4.6 (Thinking), not provider/model slug; and agy will run silently when encountering unrecognized values, so choose from the discovery list first rather than filling it in by hand. Skill files are written to .agents/skills/ (CLI follows the workspace layout of Gemini CLI - see Antigravity migration documentation).

Claude Code

Presented by Anthropic. Preferred for new users - The most complete functions: useful for session recovery, able to read MCP configuration, and supports fine-tuning parameters such as --max-turns and --append-system-prompt. An Anthropic API key is required.

CodeBuddy

Produced by Tencent. A CLI agent compatible with Claude Code - Multica drives it using the same stream-json protocol as Claude Code, so session resume is available (via --resume), MCP configuration is passed in through --mcp-config, and skills follow Claude Code's .claude/skills/ layout. The model is dynamically discovered.

Codex

Presented by OpenAI. Using the JSON-RPC 2.0 protocol, the state is stronger and the approve mechanism is more detailed (manual approval of exec_command and patch_apply). MCP configuration will be written to $CODEX_HOME/config.toml of a single task. Session recovery available - Multica continues through thread/resume of Codex app-server; if the saved thread does not exist or expires, it will fall back to the new thread and let the task continue to execute.

Copilot

Presented by GitHub. Model routing uses your GitHub account rights - the tool itself does not make model selection, and GitHub decides which model to use for you. Putting skills in .github/skills/ is the native discovery mechanism of GitHub CLI.

Cursor

Made by Anysphere, this is the CLI counterpart to the Cursor editor. Session resume available - The current Cursor Agent's stream-json event will return session_id, and Multica will pass it back through --resume <id> the next time it is run. The MCP configuration will be written to .cursor/mcp.json in the task workspace, and the Cursor project approval file is written under CURSOR_DATA_DIR of a single task, so the managed MCP server does not rely on user global Cursor approvals.

Hermes

Produced by Nous Research. Uses ACP protocol (shares transport layer with Kimi). Session recovery is useful, MCP configuration is passed in through ACP mcpServers. But the skill injection path is a general fallback (.agent_context/skills/), not a special path - if the Hermes CLI itself does not read this path, the skill may not work on it. It needs to be confirmed based on actual measurements.

**Specify Hermes profile. ** To make Hermes start using a certain profile, set the agent's custom_args to two separate entries: profile flag and profile name. For example, using a profile named research:

["-p", "research"]

Do not combine them into one string like "-p research"; Multica passes each array item to the tool as a separate argv argument. custom_args is configured per agent - see Creating and Configuring Agents.

Kimi

Produced by Moonshot, for the Chinese market. Sharing the ACP protocol with Hermes, MCP configuration is also passed in through ACP mcpServers; but the skill path .kimi/skills/ is the native discovery mechanism of Kimi CLI - different from Hermes' fallback.

Kiro CLI

Presented by Amazon. Use the ACP stdio protocol via kiro-cli acp. Session recovery goes through ACP session/load, MCP configuration is passed in through ACP mcpServers, model selection goes through session/set_model, skills will be copied to .kiro/skills/ to let Kiro do project-level native discovery.

OpenCode

Produced by SST, open source. Dynamically discover available models and model variants (scan the CLI configuration file). When session recovery is used, the mcp_config field of the agent will be consumed - Multica inline injection through the OPENCODE_CONFIG_CONTENT environment variable, allowing the agent's MCP server to directly reach OpenCode without touching the opencode.json** in the task working directory (that file is owned by the agent or the user). When a model exposes a variant, Multica will display it as the agent's thinking intensity selection and pass it to OpenCode via opencode run --variant. Suitable for developers who love to mess around and want to customize the model directory.### OpenClaw

Open source project, CLI agent orchestrator. MCP configuration is written through Multica's single-task configuration wrapper. Model is bound at the agent level (openclaw agents add --model) - cannot be overridden in a single task. The configuration is strictly controlled: users cannot pass --model or --system-prompt, which is determined by the configuration when the agent is registered.

Pi

Minimalism by Inflection AI. Special session recovery mechanism - session ID is a file path on disk (~/.pi/...), not a string ID. In other tools, the resume id is the string returned by the CLI; in Pi, the resume id is the session file itself.

Qoder

Produced by Alibaba. An agentic programming CLI. Uses ACP protocol (shares transport layer with Hermes, Kimi, Kiro CLI). Session recovery works through ACP session/resume, MCP configuration is passed in through ACP mcpServers, the model is dynamic discovery, and skills are copied to .qoder/skills/ for native discovery.

Session recovery: who really supports it

The mechanism of session recovery is discussed in Executing Tasks. All supported tools can resume sessions - pass the resume id and the task will continue from the last context. The only exception is Pi: its resume id is the session file path on disk, not a string ID (see Pi above).

MCP configuration: varies by tool

Among the 13 tools, 10 actually consume mcpconfig: Claude Code, CodeBuddy, Codex, Cursor, Hermes, Kimi, Kiro CLI, OpenCode, OpenClaw, Qoder. The other 3 models will receive this field but ignore it - no error or warning will be reported, but the configuration will not take effect.

The access methods of each tool are different: Claude Code and CodeBuddy receive through --mcp-config plus --strict-mcp-config; Codex will write the mcp_servers block managed by the daemon into the $CODEX_HOME/config.toml of a single task; Cursor will write .cursor/mcp.json, and write the project approval to the single task. CURSOR_DATA_DIR; Hermes, Kimi, Kiro CLI, Qoder receive through ACP mcpServers; OpenCode receives inline through OPENCODE_CONFIG_CONTENT environment variable; OpenClaw receives mcp.servers through Multica's single task configuration wrapper. The OpenCode path will not overwrite the opencode.json in the project.

If you set mcp_config in the agent configuration, but select a tool whose MCP column is not marked ✅, your MCP server will have no effect on this agent. MCP integration is implemented on a per-tool basis.

Where should the skill files be placed?

Each tool uses its own skill to discover paths. The Multica daemon copies the workspace's skill file to the corresponding path before executing the task:

Tools Path Whether to find it natively
Claude Code .claude/skills/ ✅ Native
CodeBuddy .claude/skills/ ✅ Native
Codex $CODEX_HOME/skills/ ✅ Native
Copilot .github/skills/ ✅ Native
Cursor .cursor/skills/ ✅ Native
Kimi .kimi/skills/ ✅ Native
Kiro CLI .kiro/skills/ ✅ Native
OpenCode .opencode/skills/ ✅ Native
Pi .pi/skills/ ✅ Native
Qoder .qoder/skills/ ✅ Native
Antigravity .agents/skills/ ✅ Native (follows Gemini CLI’s workspace layout - see Antigravity documentation)
Hermes .agent_context/skills/ ⚠️ Universal fallback
OpenClaw .agent_context/skills/ ⚠️ Universal fallback

Whether the tool corresponding to the fallback path actually reads this directory depends on the documentation of the tool itself - there is no guarantee. If your skill doesn't work on Hermes / OpenClaw, check this issue first.

For native project-level paths, repo-scoped discovery is expected behavior: if the checked-out repository already contains the corresponding directory, the underlying tools can discover the Skills submitted in the repository on their own. You do not need to import these repo skills into Multica first in order to use them in this repository. Multica will keep these repository files unchanged. If the natural directory name of a workspace Skill is the same, the daemon will write a copy of the workspace to a conflict-free sibling directory like review-helper-multica.

For details on the creation and use of skills, see Skills.

Next step