Type to search the docs and updates.

Browse documentation

Claude Code (claude)

Set up this tool

Config keys

Agent memory

Claude settings

Import

Write a project rule once under .agnostic-ai/. Sync gives Claude Code its native .claude/rules/ file and gives other selected tools their own format. Skills, agents, hooks, MCP servers, and settings also have native outputs.

Using this provider through Composer? Follow the Composer setup guide.

First rule

Install the client using the official setup guide, then open your project in it.

Select claude in agnostic-ai.yaml, then follow First rule. The shared commit-prefix rule becomes .claude/rules/conventional-commits.md. If you also select Codex, the same source becomes a section in AGENTS.md.

Write shared project instructions in .agnostic-ai/AGNOSTIC_AI.md. Sync writes Claude's CLAUDE.md from that source. Edit the source file for later changes.

Already have Claude files? Check import coverage before syncing. Import reads native rules, agents, skill folders, commands, hooks, permissions, MCP servers, and a settings overlay. It reports files it cannot import.

Output

SourceDefault output
Shared instructionsCLAUDE.md
Rules.claude/rules/<name>.md
Skills and bundled files.claude/skills/<name>/SKILL.md
Agents.claude/agents/<name>.md
Commands.claude/commands/<name>.md
Hooks and settings.claude/settings.json, when configured
MCP servers.mcp.json, when configured
Local preview commands.claude/launch.json, when configured

An empty kind creates no corresponding files. For output overrides and field mappings, use the native reference.

Loading and limits

  • Claude Code discovers .claude/rules/ recursively at launch. Sync translates file patterns into native paths conditions. Start a new session after changing the setup, and check the rule is not excluded by native settings.
  • When another selected tool writes identical shared instructions to AGENTS.md, CLAUDE.md can import it with @AGENTS.md. Starting in a subfolder can require import approval; non-interactive claude -p skips that outside import. See instruction loading.
  • Claude Code lists every agent description at startup and warns when the total passes 15,000 tokens, but still loads every agent. lint estimates that total; see context budgets.
  • Explore and Plan start without your CLAUDE.md files. A rule they must follow, such as "ignore the vendor/ directory", has to be restated in the prompt Claude gives them when it delegates. A CLAUDE.md in a subdirectory still loads when they read files there.
  • An agent-only MCP server is written into the agent file, not .mcp.json. Claude Code loads it only after you trust the project folder in an interactive session. A parent folder's trust does not count, and neither does the trust a claude -p or SDK session gets. Until then the agent runs without the server (Claude Code docs).
  • A read-only agent blocks Claude's edit tools but still allows Bash. Hooks and permissions also differ across tools; check the native mapping before treating shared text as an enforced restriction.

With builtins: [memory], shared memory adds to Claude Code's own memory. For home instructions and user settings, see global configuration. A home voice setting writes voice.enabled and voice.mode to ~/.claude/settings.json; voice.language is not written, because Claude takes its dictation language from its response language. See voice dictation.

Protected paths

A settings spec's protected block becomes Edit(/<path>) rules in .claude/settings.json, under ask or deny. The leading / anchors them at the project root. Removing a path removes its generated rule on the next sync.

A deny also covers file commands Claude recognizes in Bash, such as sed and redirections, but cannot block an arbitrary script that writes files. An ask guards edit tools only. See protected paths.

Verify

Run agnostic-ai sync --check and inspect .claude/rules/conventional-commits.md. Start claude from the project root. Ask for a commit subject for a small fix; it should use fix:.

To check what Claude Code loaded from .claude/agents/:

  • claude plugin validate .claude/agents lists agent files whose frontmatter does not parse. It needs Claude Code 2.1.233 or later, checks only the directory you name, and does not flag a file that parses but has no name.
  • claude --debug writes a log to ~/.claude/debug/<session-id>.txt. Search it for does not recognize or apply to find misspelled agent fields. It needs Claude Code 2.1.296 or later.

For a file-specific rule, run agnostic-ai explain --file src/main.go --target claude to inspect the source and planned output. Confirm native loading with both a matching and an unrelated file in a new session.

Run Explore on a cheaper model

A project agent named Explore replaces Claude Code's built-in Explore and keeps its own model. Write one that only Claude Code gets:

---
name: Explore
target: claude
description: Finds files and code for broad lookups. Use proactively before reading many files.
model: haiku
can: [read, Grep, Glob]
---

Search only. Return file paths with one line each.

Save it as .agnostic-ai/agents/explore.md. target: claude keeps the agent away from Junie, which rejects a name that starts with a capital letter. The description is required: Claude Code skips an agent file that has none.

Next, add a reusable skill or compare the same setup in Codex.