Host setup

Haft is not a standalone coding agent. haft init connects its project memory, MCP server, skills, and managed instructions to the host you already use.

Stable v9 hosts

haft init --claude
haft init --codex
haft init --all      # both stable host integrations
HostMCP configSkillsProject instructions
Claude Code.mcp.json~/.claude/skills/ or project-localManaged section in CLAUDE.md
Codex CLI / App.codex/config.toml~/.agents/skills/ or project-localManaged section in AGENTS.md

Add --local when skills should live in the repository. Add --mcp-only to an explicit host only when you intentionally want the MCP configuration without skills or managed instructions.

Re-init is bounded

Re-running init refreshes recognized Haft-owned files and only the content between Haft markers in CLAUDE.md or AGENTS.md. Project instructions outside those markers remain untouched. A foreign file at a Haft-owned skill path blocks the write instead of being overwritten.

Re-init is not required for routine project-database upgrades. After installing a new Haft binary, restart or reconnect the host; the new haft serve process activates only explicitly compatible migration boundaries. Use re-init when the host integration or its managed carriers actually need to change.

Put project-specific rules outside the managed markers. Do not maintain a second handwritten copy of the Haft protocol beside the generated section; it will drift from the installed version.

Restart after setup or upgrade

Hosts cache MCP schemas and skill manifests. Fully restart the host, then run haft version and haft doctor if the connection looks stale. Editing the config does not restart a process that is already running.

Advanced: skills without a host integration

haft init --agents
haft init --agents --local
haft init --codex --agents

--agents publishes the shared skill bundle without configuring MCP or project instructions. Combined with --codex, the identical target is written once.

Experimental and legacy adapters

Grok, Pi, Hermes, Zed, Antigravity, OpenCode, Cursor, Gemini CLI, and Air have explicit adapter flags. They do not all receive the same combination of MCP config, skills, and instruction files.

haft init --grok
haft init --pi
haft init --hermes
haft init --zed
haft init --agy
haft init --opencode
haft init --cursor
haft init --gemini
haft init --air

Read haft init --help from the installed release before scripting one of these adapters. “Has a flag” is not the same as stable parity with Claude Code or Codex.

Related pages