All tags
38 articles
All articles
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.
Log which CLAUDE.md files Claude Code loads, and when, with the InstructionsLoaded hook
Use the InstructionsLoaded hook to record every CLAUDE.md and .claude/rules/ file as it enters context: matcher values, input JSON fields, a logging example, and its limits.
Manage Codex's "trust this folder?" prompt in config.toml with the projects trust_level setting
How Codex records project trust under [projects."<absolute path>"] trust_level, what it ignores for untrusted projects (.codex/config.toml, hooks, rules), and its precedence.
Open file references from Codex output directly in VS Code or Cursor with file_opener
How the file_opener setting in Codex CLI turns cited file paths into clickable editor links: the values (vscode, vscode-insiders, windsurf, cursor, none) and terminal requirements.
Pin environment variables in Claude Code's settings.json with the env key: precedence and pitfalls
How the env key in Claude Code's settings.json works: it overrides shell variables, applies to every session and subprocess, and when a saved change reaches a running session.
Remove or customize the Co-Authored-By trailer Claude Code adds to commits with the attribution setting
How to hide or rewrite the Co-Authored-By commit trailer and the PR attribution line with the attribution setting (commit, pr, sessionUrl), plus the deprecated includeCoAuthoredBy.
Scope Claude Code rules to specific files with .claude/rules/ and paths frontmatter
When CLAUDE.md gets long, move topics into .claude/rules/ and add paths frontmatter so a rule loads only when Claude touches matching files: glob syntax, timing, user-level rules.
Stop Claude Code loading other teams' CLAUDE.md files with claudeMdExcludes
Keep a monorepo root or another team's CLAUDE.md out of your context with claudeMdExcludes: pattern syntax, which settings file to use, what cannot be excluded, and how to verify.
Stop Codex saving conversation history to disk: history.persistence and where credentials are stored
Keep Codex CLI from writing conversation history with history.persistence = "none", cap it with max_bytes, and choose where login credentials live with cli_auth_credentials_store.
Turn off Claude Code auto memory or move it: autoMemoryEnabled and autoMemoryDirectory
What Claude Code's auto memory records and where, how to disable it with autoMemoryEnabled or CLAUDE_CODE_DISABLE_AUTO_MEMORY, how to relocate it, and the MEMORY.md load limit.
What Claude Code's /init puts in CLAUDE.md, and what to change afterwards
What the /init command inspects and writes into CLAUDE.md, how it behaves when a file already exists, what to cut and add after generation, and how to confirm the file loads.
When Claude Code deletes transcripts: the cleanupPeriodDays default and how to change retention
Claude Code stores transcripts in plain text under ~/.claude. What cleanupPeriodDays does (default 30 days, minimum 1), what the sweep deletes and skips, and how to stop writing.
When does Claude Code load a CLAUDE.md in a subdirectory? Monorepo layout and how to check
When Claude Code loads a CLAUDE.md in a subdirectory, how it combines with the root file, a monorepo layout that keeps context small, and how to check with /memory.
Why Codex reads only part of AGENTS.md: project_doc_max_bytes and fallback file names
How Codex discovers AGENTS.md (search order, AGENTS.override.md, the 32 KiB default cap, fallback names) and how project_doc_max_bytes and project_doc_fallback_filenames change it.
Why the CLAUDE.md in a --add-dir directory is not loaded, and the setting that fixes it
A --add-dir directory does not load its CLAUDE.md by default. What CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD changes, which files it covers, and how to make it permanent.
Adding MCP servers to Claude Code: claude mcp add versus .mcp.json
Add and manage MCP servers in Claude Code: claude mcp add for stdio and HTTP servers, the local / project / user scopes, sharing via .mcp.json, authentication and troubleshooting.
Claude Code permissions in settings.json: allow, deny and ask rules with real examples
Control what Claude Code may do without asking: allow / deny / ask rules in settings.json, the pattern syntax, scope precedence, and recommended setups for solo and team work.
Codex CLI approval modes versus sandbox modes: safe combinations for autonomous runs
What Codex CLI's approval policy and sandbox mode each control, what --full-auto really does, how to pin them in config.toml, and which pair fits research, daily work and CI.
Codex vs Claude Code: pricing, permission models, config files and when to use which
OpenAI's Codex and Anthropic's Claude Code compared on what changes slowly: pricing, permission and sandbox design, AGENTS.md versus CLAUDE.md, cloud execution and CI.
How to write CLAUDE.md: the three levels (user, project, directory) and a ready-to-use template
Where Claude Code looks for CLAUDE.md, which level wins, what belongs in it and what does not, plus a template you can drop into a small or medium web project today.
Installing the Claude Code VS Code extension and the five settings to review first
How to install the Claude Code extension for VS Code, sign in, understand its relationship with the CLI, and the five settings worth adjusting right after installation.
Managing context in Claude Code: /compact versus /clear and how to save tokens
Why long Claude Code sessions slow down, when to use /compact, /clear and /context, how automatic compaction works, and habits that keep token usage down.
Run lint and format automatically after every edit with Claude Code hooks
Use Claude Code hooks to run Prettier, ESLint or ruff after every edit: PostToolUse configuration, reading the edited path from stdin, and feeding failures back to Claude.
Running Claude Code non-interactively with claude -p: scripts, cron and CI
Use Claude Code's -p mode from scripts and CI: stdin input, --output-format json, allowing tools with --allowedTools, and bounding cost and loops with --max-turns.
Stop AI coding tools from reading your API keys and secrets: settings for Claude Code, Codex and Gemini CLI
Settings that keep .env files and credentials away from Claude Code, Codex and Gemini CLI, what to do after a leak, and how to keep secrets out of the repository altogether.
Switching models, reasoning effort and profiles in Codex CLI's config.toml
The settings you actually touch in ~/.codex/config.toml: model and reasoning effort, task-specific profiles with --profile, and how options, profiles and defaults take precedence.
Is your code used to train Anthropic's models? Claude Code data usage by plan
Whether Claude Code uses your code for model training depends on your plan and settings. How personal and commercial plans differ, and what to check before using it at work.