Settings and how-tos for Claude Code, Codex and Gemini CLI, verified against the official docs
Practical, verified guides to installing and configuring AI coding tools such as Claude Code, Codex and Gemini CLI: config files, permissions, hooks, MCP and recommended settings.
Browse by tool
- Claude CodeConfiguring and using Claude Code, Anthropic's coding agent for the terminal and VS Code
- CodexConfiguring and using OpenAI's Codex CLI, VS Code extension and cloud agent
- Gemini CLIConfiguring and using Google's Gemini CLI
- AI coding in generalCross-tool comparisons, security and workflow design
Latest & updated
-
CLAUDE.md vs AGENTS.md vs GEMINI.md: keep one source of truth across three tools
How Claude Code, Codex and Gemini CLI load their context files, and how to keep one source of truth with imports, context.fileName and symlinks instead of three copies.
-
Does # add to CLAUDE.md in Claude Code? What the current docs say
You typed # expecting it to append to CLAUDE.md, and nothing happened. Here is what the official docs actually say, and the three documented ways to add to CLAUDE.md.
-
Gemini CLI vs Claude Code: free tier, context, configuration and permissions
Gemini CLI and Claude Code compared on the parts that change slowly: the free tier, context handling, context files, permission control, extensibility and licensing.
-
Installing Gemini CLI and writing GEMINI.md: getting started with a free Google account
Install Google's Gemini CLI, sign in with a Google account or API key, run your first task, and learn where GEMINI.md lives, how it is loaded, and how to check it with /memory.
-
Allow only some tools from an MCP server in Codex: enabled_tools, timeouts, and approval modes
Restrict which tools an MCP server exposes to Codex with enabled_tools and disabled_tools, tune startup_timeout_sec and tool_timeout_sec, and require approval before tools run.
-
Compact earlier or never: Claude Code's /autocompact, autoCompactWindow, and CLAUDE_AUTOCOMPACT_PCT_OVERRIDE
How to change when Claude Code auto-compacts: /autocompact and autoCompactWindow, the --autocompact flag, the percent override, their precedence, and autoCompactEnabled.
-
Control Codex web search with the web_search setting: disabled, cached, indexed, and live
The four values of Codex CLI's web_search setting and their defaults, the --search flag for one-off use, why indexed reduces prompt injection risk, and how to restrict domains.
-
Fix Claude Code Bash timeouts and truncated output: BASH_DEFAULT_TIMEOUT_MS and bashOutputMaxChars
Why Claude Code's Bash tool stops at 2 minutes or cuts long output, and how to tune it with BASH_DEFAULT_TIMEOUT_MS, BASH_MAX_TIMEOUT_MS, and bashOutputMaxChars.
-
Get a desktop or Slack notification when Codex finishes a turn: notify and tui.notifications
Run a program when Codex CLI completes a turn with the notify setting, the JSON it receives, and how tui.notifications filters terminal notifications, with macOS/Linux examples.
-
Hide or expand reasoning in Codex output: hide_agent_reasoning and model_reasoning_summary
The three Codex CLI settings that control reasoning display: hide_agent_reasoning, show_raw_agent_reasoning, and model_reasoning_summary, and how they differ from reasoning effort.
-
Keep API keys out of the commands Codex runs: the shell_environment_policy setting
Control which environment variables reach the commands Codex CLI runs with shell_environment_policy: inherit values, default handling of KEY/SECRET/TOKEN names, filters, and set.
-
Let Codex write outside the workspace in workspace-write mode: writable_roots and the /tmp rules
What Codex's workspace-write sandbox can write to by default (cwd, /tmp, $TMPDIR), how to add paths with writable_roots, how to exclude temp directories, and why .git is read-only.