# Alex Dunlop > Practical writing on AI coding, agents, and shipping fast. Senior AI engineer based in Sydney with a decade building AI products. Real runs, real numbers, honest verdicts on AI coding tools and agents. ## Writing - [Claude Code Scheduled Tasks vs Routines: What Each Runs and What Each Bills You (2026)](https://www.alexdunlop.com/writing/claude-code-scheduled-tasks): Anthropic's docs say Claude Code offers three ways to schedule work, then compare four. Only cloud Routines have documented billing. The others are silent. - [Codex CLI config.toml (2026): What Actually Works With Non-OpenAI Providers](https://www.alexdunlop.com/writing/codex-cli-config-toml): wire_api = 'chat' was removed in February 2026 and now hard errors. model_context_window = 1000000 clamps silently to 258,400. Both are still in every guide. - [Cursor Plan Mode Explained: What It Does and Where the Docs Are Silent (2026)](https://www.alexdunlop.com/writing/cursor-plan-mode-explained): Cursor's docs say planning happens before code. They do not say edits are blocked. The 2.4 CLI patch and one 2.2.43 forum report say otherwise. - [CLAUDE.md Best Practices: What the Evidence Supports (2026)](https://www.alexdunlop.com/writing/claude-md-best-practices): A study ran 1,650 sessions: the file's length, layout and contradictions changed nothing. Having one at all took Claude from 0 out of 524 to 67.7%. Plus six things the advice gets wrong. - [Claude Code Remote Control: What It Is, What It Isn't](https://www.alexdunlop.com/writing/claude-code-remote-control): Remote Control runs on your machine, not the cloud. How it differs from Channels and Dispatch, the env vars that silently disable it, and why sleep killed my sessions when the docs say it shouldn't. - [CLAUDE.md vs AGENTS.md: It's the Loader, Not the File](https://www.alexdunlop.com/writing/claude-md-vs-agents-md): AGENTS.md is a filename with no schema and no conformance language. What differs between sixteen tools is discovery, precedence, and fallback. The table, plus a test of what Claude Code really loads. - [Why Your Claude Code Hook Isn't Firing (2026 Decision Tree)](https://www.alexdunlop.com/writing/claude-code-hook-not-firing): Hooks hot-reload now, so a restart proves nothing. A symptom-first tree for silent hooks: whole-file config rejection, exit 1 vs exit 2, unanchored matchers, and bloat that slows every tool call. - [Best Terminal for Claude Code (I Ran Agents in Five of Them)](https://www.alexdunlop.com/writing/best-terminal-for-claude-code): cmux, Ghostty, Warp, Herdr, tmux. The verdict splits by OS. Platform-by-platform breakdown with real friction from running Claude Code agents in all five. - [The MCP OAuth Flow, Drawn: The Broker Pattern in One Diagram (2026)](https://www.alexdunlop.com/writing/mcp-oauth-flow-drawn): An MCP server fronting GitHub runs two OAuth relationships, not one, and the client never holds your GitHub or Google token. The broker pattern in a single diagram, plus the wiring underneath it. - [MCP Server Authentication in FastMCP: The End-to-End Version (2026)](https://www.alexdunlop.com/writing/mcp-server-authentication-fastmcp-end-to-end): OAuth on an MCP server is two jobs, not one. Token verification is passive, remote OAuth is active, and picking wrong means Claude Desktop won't connect. The FastMCP wiring, end to end. - [Amp vs Claude Code: Is It Worth Switching in 2026?](https://www.alexdunlop.com/writing/amp-vs-claude-code-worth-switching-2026): I ran Amp and Claude Code on the same Python task. Amp routes across models and shows parallel agents better. Both went blind on ruff. Here's the honest take. - [Claude Code auto mode, explained (and when it beats --dangerously-skip-permissions)](https://www.alexdunlop.com/writing/claude-code-auto-mode-explained): Auto mode auto-approves everything and runs each action through a classifier. Bypass has two tripwires and nothing else. When each one wins, and why sandbox is the real answer for the bypass crowd. - [Claude Code vs Cursor: Which AI Coding Tool in 2026?](https://www.alexdunlop.com/writing/claude-code-vs-cursor-which-ai-coding-tool-in-2026): I tested Claude Code and Cursor side by side. Real results, honest verdict, and which AI coding tool actually ships faster in 2026. - [How to Use Claude Code: From First Install to Shipping Real Features (2026)](https://www.alexdunlop.com/writing/how-to-use-claude-code-2026): From install to autonomous agents in parallel worktrees with adversarial review. The patterns that separate engineers who ship with Claude Code from engineers who fight it. - [Claude Code Pricing 2026: What the Credits Actually Cost](https://www.alexdunlop.com/writing/claude-code-pricing-2026-autonomous-credits): Anthropic changed Claude Code pricing in 2026. Here's how autonomous credits work, what you'll really pay, and whether it's worth it. - [Pi vs Claude Code: Which AI Coding Agent in 2026?](https://www.alexdunlop.com/writing/pi-vs-claude-code-which-ai-coding-agent-in-2026): I ran Pi and Claude Code on the same real work for weeks. Where each one wins, what Pi's minimal harness exposes about your own setup, and the honest verdict on running both. - [Motion Primitives: A Shadcn for React Animations](https://www.alexdunlop.com/writing/motion-primitives-shadcn-for-animations): Copy paste animated React components built on Motion and Tailwind CSS. MIT licensed, one dependency, and underrated. - [SEO for Developers Is Mostly Wrong: 2026 Edition](https://www.alexdunlop.com/writing/seo-for-developers-is-mostly-wrong): Core Web Vitals thresholds, Next.js metadata, AI Overviews killing CTR, and a prompt to audit your own site. ## Site - [About Alex Dunlop](https://www.alexdunlop.com/about): Kiwi engineer in Sydney. Senior Engineer at Popp AI, co-founder of Cub Digital, ten years building AI products. - [Ship With AI course](https://www.alexdunlop.com/course): A practical course for engineers who want to ship AI-native products. - [Writing index](https://www.alexdunlop.com/writing): All posts on AI coding, agents, architecture, and shipping fast. ## Optional - [RSS feed](https://www.alexdunlop.com/rss.xml) - [Sitemap](https://www.alexdunlop.com/sitemap.xml)