Skip to main content

Claude and Gemini

Claude Code and Gemini CLI use small profile/config surfaces backed by the shared MCP registry. Claude keeps runtime-managed fields in ~/.claude.json, while Gemini receives MCP server injection into its settings at apply time.

Mental model

ToolSourceTargetRegistry path
Claude Codehome/dot_claude/settings.{work,personal}.json~/.claude/settings.json~/.claude.json top-level mcpServers
Gemini CLIhome/dot_gemini/settings.json~/.gemini/settings.jsonshared mcp_servers.yaml injected at apply time

Using it

Claude Code settings

Claude profile behavior:

AreaBehavior
Thinking and effortalwaysThinkingEnabled: false; effortLevel: xhigh persisted in both profiles
Dangerous-mode promptskipped in both profiles
Work authnative Claude enterprise auth; no apiKeyHelper / ANTHROPIC_BASE_URL override
MCP storage~/.claude.json top-level mcpServers
Merge strategyupdate only mcpServers, preserve runtime-managed fields

Interactive fish/bash/zsh sessions leave claude native. MCP wiring is handled only by the managed registry and apply-time config generation.

LetsFG

LetsFG is intentionally not exposed through the shared MCP registry.

DecisionReason
not in MCP registryflight tools are irrelevant to most sessions
skill-loaded on demandagents load k-letsfg/SKILL.md only for travel searches
local CLIletsfg uv tool comes from home/readonly_dot_default-uv-tools.tmpl
normal agent modepasses LETSFG_BROWSERS=0 per invocation
browser connectorsexplicit opt-in

Playwriter remains a fallback for rendered UI checks or booking-adjacent flows that need explicit user confirmation.

Gemini CLI settings

MCP servers are injected from the shared mcp_servers.yaml registry at apply time. Tool approval is controlled by general.defaultApprovalMode; this repo uses auto_edit to auto-approve edit tools.