# Cameron Code > My guide to Claude Code: an independent, practitioner's handbook covering setup, workflows, skills, subagents, hooks, MCP, plugins, administration and the Agent SDK. Not affiliated with Anthropic. Full map with headings: https://www.cameronshields.co.uk/docs/cameron_code_docs_map.md ## Claude Code - [Claude Code overview](https://www.cameronshields.co.uk/docs/overview.md): What Claude Code is, where it runs, how to install it, and the kinds of work it handles well, from bug fixes to scheduled automation. - [Quickstart](https://www.cameronshields.co.uk/docs/quickstart.md): Install the Claude Code CLI, sign in, and use it on a real project: asking questions, making a change, working with git and fixing a bug. - [How Claude Code works](https://www.cameronshields.co.uk/docs/how-claude-code-works.md): The agentic loop, the built-in tools, what Claude can see, how sessions and context work, and the safety nets of checkpoints and permissions. - [Features overview](https://www.cameronshields.co.uk/docs/features-overview.md): How CLAUDE.md, output styles, skills, subagents, workflows, MCP, hooks and plugins fit together, when to reach for each, and what each costs in context. - [The .claude directory](https://www.cameronshields.co.uk/docs/claude-directory.md): Every file Claude Code reads from your project's .claude folder and from ~/.claude, what each is for, when it loads, and how local session data is kept and cleared. - [Context window](https://www.cameronshields.co.uk/docs/context-window.md): What fills Claude Code's context window during a real session, what you see versus what Claude sees, what survives compaction, and how to keep it lean. - [Prompt caching](https://www.cameronshields.co.uk/docs/prompt-caching.md): How Claude Code caches the start of every request, which actions throw that cache away, how long it lasts, and how to check your hit rate. - [Memory](https://www.cameronshields.co.uk/docs/memory.md): Give Claude Code lasting knowledge with CLAUDE.md, AGENTS.md and .claude/rules, and understand how auto memory lets Claude keep its own notes between sessions. - [Sessions](https://www.cameronshields.co.uk/docs/sessions.md): Resume, name, branch, find and export Claude Code conversations from the CLI, and understand what a resumed session restores and where transcripts live. - [Common workflows](https://www.cameronshields.co.uk/docs/common-workflows.md): Practical recipes for everyday work with Claude Code: learning a codebase, debugging, refactoring, tests, pull requests, docs, images, scheduling and scripting. - [Prompt library](https://www.cameronshields.co.uk/docs/prompt-library.md): Copy-and-adapt prompts for Claude Code, grouped from discovery through to operations, plus the patterns that make any prompt work better. - [Best practices](https://www.cameronshields.co.uk/docs/best-practices.md): The habits that get the most out of Claude Code: verifiable goals, planning before coding, precise prompts, a lean setup, tight context management and safe ways to scale up. - [Platforms and integrations](https://www.cameronshields.co.uk/docs/platforms.md): Compare the places you can run Claude Code (CLI, desktop, IDEs, web, mobile), the tools you can connect it to, and the options for working away from your desk. - [Remote Control](https://www.cameronshields.co.uk/docs/remote-control.md): Drive a Claude Code session running on your own machine from a browser or the Claude mobile app, with setup, server mode flags, security, push notifications and fixes for common errors. - [Projects](https://www.cameronshields.co.uk/docs/claude-projects.md): Use a Claude Code project to hand Claude a stream of related tasks in one conversation and let it run them as parallel threads with shared instructions, memory and repositories. - [Mobile](https://www.cameronshields.co.uk/docs/mobile.md): Use the Claude app on iOS and Android to start cloud sessions, run projects, steer a session on your own computer with Remote Control, or message Dispatch a task. - [Claude in Chrome](https://www.cameronshields.co.uk/docs/chrome.md): Connect Claude Code to your own Chrome or Edge browser to test web apps, read console errors, fill forms, upload files, extract data and record GIFs. - [Computer use](https://www.cameronshields.co.uk/docs/computer-use.md): Let Claude Code open apps, click, type and see your screen on macOS from the CLI, to test native apps, reproduce visual bugs and drive tools that have no API. - [VS Code](https://www.cameronshields.co.uk/docs/vs-code.md): Install and use the Claude Code extension for VS Code and Cursor: the chat panel, diff review, @-mentions, sessions, plugins, MCP, settings, security and fixes for common problems. - [JetBrains IDEs](https://www.cameronshields.co.uk/docs/jetbrains.md): Install and configure the Claude Code plugin for IntelliJ IDEA, PyCharm, WebStorm and other JetBrains IDEs, including WSL, remote development and the built-in IDE MCP server. - [Claude Code in Slack](https://www.cameronshields.co.uk/docs/slack.md): Hand coding tasks to Claude from a Slack thread using the earlier, per-user Claude Code in Slack integration for Pro and Max accounts. - [Claude Tag](https://www.cameronshields.co.uk/docs/claude-tag.md): How Claude Tag puts a shared, admin-governed @Claude into your team's Slack channels, and how it maps onto what you already know from Claude Code. - [Cloud sessions quickstart](https://www.cameronshields.co.uk/docs/web-quickstart.md): Connect GitHub, create your first cloud environment and hand Claude Code a task that runs on a cloud VM instead of your laptop. - [Claude Code on the web](https://www.cameronshields.co.uk/docs/claude-code-on-the-web.md): Run Claude Code sessions in the cloud, move work between terminal and cloud with --cloud and --teleport, share sessions and auto-fix pull requests. - [Routines](https://www.cameronshields.co.uk/docs/routines.md): Package a prompt, repositories and connectors into a routine that runs in the cloud on a schedule, from an HTTP call, or when GitHub events fire. - [Ultrareview](https://www.cameronshields.co.uk/docs/ultrareview.md): Run a deep, verified, multi-agent code review in a cloud sandbox with /code-review ultra, from your session or from CI. - [Desktop app quickstart](https://www.cameronshields.co.uk/docs/desktop-quickstart.md): Install the Claude desktop app, open the Code tab, point it at a project folder and make your first reviewed change without touching a terminal. - [Claude Code desktop app](https://www.cameronshields.co.uk/docs/desktop.md): Everything the Code tab in the Claude desktop app can do, from parallel sessions and diff review to previews, SSH, computer use and enterprise policy. - [Desktop app on Linux](https://www.cameronshields.co.uk/docs/desktop-linux.md): Install, update and troubleshoot the Claude desktop app (beta) on Ubuntu and Debian, including the extra requirements for the Cowork tab. - [Desktop app with WSL](https://www.cameronshields.co.uk/docs/desktop-wsl.md): Run Code tab sessions inside a WSL 2 distribution from the Windows desktop app, so Claude uses your Linux toolchain and native paths. - [Desktop scheduled tasks](https://www.cameronshields.co.uk/docs/desktop-scheduled-tasks.md): Have the Claude desktop app start a session on a timer, with full access to your local files, for daily reviews, dependency checks and briefings. - [iOS Simulator pane](https://www.cameronshields.co.uk/docs/desktop-ios-simulator.md): Watch and steer Claude as it builds, runs and taps through your iOS app in a per-session simulator inside the Claude desktop app on macOS. - [Security guidance plugin](https://www.cameronshields.co.uk/docs/security-guidance.md): Install the security-guidance plugin so Claude checks its own code for vulnerabilities while it works and fixes them before anything reaches a pull request. - [Claude Security plugin](https://www.cameronshields.co.uk/docs/claude-security.md): Run a multi-agent vulnerability scan of a repository or a diff from inside Claude Code, then turn chosen findings into reviewed patches you apply yourself. - [Code Review](https://www.cameronshields.co.uk/docs/code-review.md): Automated multi-agent pull request review on GitHub, plus the local /code-review command, with setup, triggers, REVIEW.md tuning, pricing and fixes. - [GitHub Actions](https://www.cameronshields.co.uk/docs/github-actions.md): Run Claude Code inside GitHub Actions with claude-code-action, from @claude mentions on issues and PRs to scheduled jobs and skill-driven reviews. - [GitHub Actions with cloud providers](https://www.cameronshields.co.uk/docs/github-actions-cloud-providers.md): Route claude-code-action through Amazon Bedrock, Google Cloud's Agent Platform or Microsoft Foundry using OIDC, with no long-lived cloud keys in the repo. - [GitHub Enterprise Server](https://www.cameronshields.co.uk/docs/github-enterprise-server.md): Connect a self-hosted GitHub Enterprise Server instance so your team gets cloud sessions, Code Review and internal plugin marketplaces on GHES repositories. - [GitLab CI/CD](https://www.cameronshields.co.uk/docs/gitlab-ci-cd.md): Run Claude Code as a GitLab CI/CD job that turns issue and merge request requests into branches and MRs, on the Claude API, Bedrock or Agent Platform. - [Run agents in parallel](https://www.cameronshields.co.uk/docs/agents.md): Choose between subagents, agent view, agent teams, projects and dynamic workflows when you want Claude Code working on several things at once. - [Create custom subagents](https://www.cameronshields.co.uk/docs/sub-agents.md): Define specialist subagents with their own prompt, tools, model and permissions, and control how Claude Code delegates, runs, forks and resumes them. - [Agent view](https://www.cameronshields.co.uk/docs/agent-view.md): Dispatch, monitor, peek at and attach to background Claude Code sessions from one terminal screen with claude agents. - [Agent teams](https://www.cameronshields.co.uk/docs/agent-teams.md): Run a lead Claude Code session that spawns teammates, shares a task list and lets agents message each other. Experimental and off by default. - [Cross-session messaging](https://www.cameronshields.co.uk/docs/cross-session-messaging.md): Let Claude list your other Claude Code sessions and send them messages, locally, on other machines or in the cloud, with controls over what arrives. - [Dynamic workflows](https://www.cameronshields.co.uk/docs/workflows.md): Let Claude write a JavaScript orchestration script that runs dozens of subagents in the background, then save it as a reusable command. - [Worktrees](https://www.cameronshields.co.uk/docs/worktrees.md): Give each Claude Code session its own git worktree so parallel work never collides, plus subagent isolation, .worktreeinclude, cleanup and recovery. - [MCP quickstart](https://www.cameronshields.co.uk/docs/mcp-quickstart.md): Connect your first MCP server to Claude Code, confirm it works, find where the config lives and fix the usual connection problems. - [MCP in depth](https://www.cameronshields.co.uk/docs/mcp.md): Everything about connecting Claude Code to MCP servers: transports, scopes, authentication, limits, tool search, plugin servers and running Claude Code as a server. - [Skills](https://www.cameronshields.co.uk/docs/skills.md): Package instructions, scripts and reference files as skills that Claude loads on demand or you run as slash commands, with the full frontmatter reference. - [Artifacts](https://www.cameronshields.co.uk/docs/artifacts.md): Publish live, shareable web pages from a Claude Code session, keep them updated, collect comments, pull connector data and control them for your organisation. - [Automating with hooks](https://www.cameronshields.co.uk/docs/hooks-guide.md): A practical guide to Claude Code hooks, with worked examples for notifications, formatting, guardrails, context injection and environment reloading. - [Channels](https://www.cameronshields.co.uk/docs/channels.md): Push chat messages, webhooks and alerts into a running Claude Code session through channel plugins for Telegram, Discord, iMessage or your own server. - [Scheduled tasks and /loop](https://www.cameronshields.co.uk/docs/scheduled-tasks.md): Re-run prompts on an interval, let Claude pace its own polling, set one-off reminders and manage session-scoped cron jobs in Claude Code. - [Working toward a goal with /goal](https://www.cameronshields.co.uk/docs/goal.md): Give Claude Code a completion condition and let it keep taking turns until a separate evaluator confirms the condition holds. - [Headless mode (claude -p)](https://www.cameronshields.co.uk/docs/headless.md): Run Claude Code non-interactively from scripts and CI with -p, bare mode, structured and streamed output, tool pre-approval and resumable sessions. - [Deep links](https://www.cameronshields.co.uk/docs/deep-links.md): Open Claude Code in the right repository with a pre-filled prompt from a claude-cli:// URL in a runbook, alert, dashboard or shell script. - [Large codebases and monorepos](https://www.cameronshields.co.uk/docs/large-codebases.md): Keep Claude Code focused in big repositories with layered CLAUDE.md files, read deny rules, code intelligence, sparse worktrees, scoped skills and plugins. - [Troubleshoot installation and login](https://www.cameronshields.co.uk/docs/troubleshoot-install.md): Fix command not found, PATH, permission, network, TLS, platform-specific install failures and sign-in problems when setting up Claude Code. - [Troubleshooting](https://www.cameronshields.co.uk/docs/troubleshooting.md): Fix high CPU and memory use, hangs, compaction loops, clipboard and search problems in a running Claude Code session, and find the right page for anything else. - [Debug your configuration](https://www.cameronshields.co.uk/docs/debug-your-config.md): Work out why a CLAUDE.md rule, setting, hook, MCP server or skill isn't taking effect, using /context, /doctor, /hooks, /mcp and a clean test session. - [Error reference](https://www.cameronshields.co.uk/docs/errors.md): What each Claude Code error message means and how to fix it, from API, auth and network failures to CLI, plugin, tool, background session and config warnings. ## Plugins - [Plugins overview](https://www.cameronshields.co.uk/docs/plugins/overview.md): What a Claude Code plugin is, how marketplaces and install scopes fit together, and when a plugin is worth it over a standalone skill or server. - [Install and manage plugins](https://www.cameronshields.co.uk/docs/plugins/install.md): Install Claude Code plugins on any surface, pick the right scope, add marketplaces (including private ones), and keep everything updated. - [Anthropic's marketplaces](https://www.cameronshields.co.uk/docs/plugins/anthropic-marketplaces.md): The official, community and demo plugin marketplaces Anthropic publishes, how to add each one, and where to browse what they contain. - [Code intelligence plugins](https://www.cameronshields.co.uk/docs/plugins/code-intelligence.md): Give Claude live type errors and symbol navigation by installing a language server plugin, and handle the LSP recommendation dialog. - [Plugin security and trust](https://www.cameronshields.co.uk/docs/plugins/security.md): What an installed Claude Code plugin can do on your machine, how to vet one before installing, and how to remove it cleanly if you change your mind. - [Create a plugin](https://www.cameronshields.co.uk/docs/plugins/create.md): Build a Claude Code plugin from an empty folder, load it without a marketplace, debug it, and convert an existing .claude/ setup into one. - [Plugin components](https://www.cameronshields.co.uk/docs/plugins/components.md): Every component a Claude Code plugin can carry, where its files go, how it is named once loaded, and the manifest key that overrides the default. - [Plugin dependencies](https://www.cameronshields.co.uk/docs/plugins/dependencies.md): Declare the plugins your plugin relies on, pin them with semver ranges, tag releases so ranges resolve, and understand how conflicts play out for users. - [Test plugins with evals](https://www.cameronshields.co.uk/docs/plugin-evals.md): Write eval cases for a Claude Code plugin, run them with claude plugin eval, compare against a no-plugin baseline, mock MCP servers and gate CI on the score. - [Publish a plugin](https://www.cameronshields.co.uk/docs/plugins/publish.md): Choose how to distribute a finished Claude Code plugin, run the pre-release checklist, and ship updates, renames and removals without breaking users. - [Measure plugin cost and usage](https://www.cameronshields.co.uk/docs/plugins/measure.md): Read a plugin's always-on token cost, cut it down, find out whether anyone still uses it, and pick the telemetry for organisation-wide answers. - [Recommend your plugin from your CLI](https://www.cameronshields.co.uk/docs/plugins/cli-hints.md): Have your CLI or SDK print a claude-code-hint line so Claude Code users are offered your official-marketplace plugin, and know when the prompt shows. - [Mods overview](https://www.cameronshields.co.uk/docs/plugins/mods/overview.md): What a Claude Code mod is, what it can do that hooks, skills and MCP servers cannot, how to install or switch one off, and where mods run. - [Create a mod](https://www.cameronshields.co.uk/docs/plugins/mods/create.md): Have Claude write a Claude Code mod for you, or build one by hand, then use generated types, validate and plugin test to keep it working. - [Mods reference](https://www.cameronshields.co.uk/docs/plugins/mods/reference.md): Lookup tables for Claude Code mods - files, the on() function, every event, mods API namespaces, render sites, elements, limits, settings and commands. - [Draw in the interface](https://www.cameronshields.co.uk/docs/plugins/mods/interface.md): Draw panes and the band above the prompt from a Claude Code mod, restyle built-in UI, handle buttons and text fields, redraw on change and keep state. - [Interface gallery](https://www.cameronshields.co.uk/docs/plugins/mods/gallery.md): Copy-ready samples of every element a Claude Code mod can draw, from Text and Markdown to buttons, inputs, diffs, rasters and SVG, with what each looks like. - [React to events](https://www.cameronshields.co.uk/docs/plugins/mods/events.md): Handle Claude Code events in a mod - observe, rewrite or answer tool calls, prompts and turns, filter with matchers, and behave well alongside other mods. - [Use the mods API](https://www.cameronshields.co.uk/docs/plugins/mods/api.md): Call the Claude Code mods API to add commands and tools, call a model, run timers, show status, message other sessions, and reach files, processes and the network. - [Test a mod](https://www.cameronshields.co.uk/docs/plugins/mods/test.md): Write automated tests for Claude Code mods with claude plugin test - fire events, stub what Claude Code would answer, drive timers and press buttons, all offline. - [Troubleshoot a mod](https://www.cameronshields.co.uk/docs/plugins/mods/troubleshoot.md): Work out why a Claude Code mod does nothing - where Claude Code reports problems, every refusal and skip message, drawing failures, lost state and the debug log. - [Create a marketplace](https://www.cameronshields.co.uk/docs/plugins/create-marketplace.md): Build a plugin marketplace around a marketplace.json catalogue, install from it locally, and catch mistakes before anyone else sees them. - [Host a marketplace](https://www.cameronshields.co.uk/docs/plugins/host-marketplace.md): Put a plugin marketplace where people can reach it, give them access to private repos, ship updates, and rename plugins without breaking installs. - [Suggest plugins by relevance](https://www.cameronshields.co.uk/docs/plugins/relevance.md): Add a relevance block to marketplace entries so Claude Code recommends the right plugin when a session matches, and allowlist the marketplace for suggestions. - [Manage plugins for your organisation](https://www.cameronshields.co.uk/docs/plugins/org.md): Use managed settings to pre-install, require, restrict and update Claude Code plugins across every machine in your organisation. - [Manage mods for your organisation](https://www.cameronshields.co.uk/docs/plugins/mods/admin.md): Decide whether mods run on your fleet, allow only your own, review what a mod can do, and enforce policy with a mod you control. - [Plugin troubleshooting](https://www.cameronshields.co.uk/docs/plugins/troubleshooting.md): Find the exact plugin or marketplace error you are seeing, grouped by the stage that produces it, with the cause and the fix for each. - [How plugins load](https://www.cameronshields.co.uk/docs/plugins/loading.md): Trace where each plugin comes from, which settings scope switches it on, what sits on disk under ~/.claude/plugins, and why an update did nothing. - [Plugin manifest reference](https://www.cameronshields.co.uk/docs/plugins/manifest-reference.md): Every plugin.json field with its type and behaviour, component path rules, userConfig and channels schemas, path variables and the default layout. - [Marketplace reference](https://www.cameronshields.co.uk/docs/plugins/marketplace-reference.md): Every marketplace.json field, plugin entry field, plugin source type and marketplace source type, plus what each validation message means. - [Plugin CLI reference](https://www.cameronshields.co.uk/docs/plugins/cli-reference.md): Every claude plugin and claude plugin marketplace subcommand, the /plugin and /reload-plugins session commands, and the flags that sideload a plugin. ## Administration - [Set up Claude Code for your organisation](https://www.cameronshields.co.uk/docs/admin-setup.md): An administrator's route map for rolling out Claude Code: provider choice, policy delivery, enforcement controls, usage reporting and data handling. - [Advanced setup](https://www.cameronshields.co.uk/docs/setup.md): System requirements, every install method, release channels, version pinning, binary verification and clean uninstalls for Claude Code. - [Authentication](https://www.cameronshields.co.uk/docs/authentication.md): How to log in to Claude Code, set up team access, restrict logins and providers, and understand which credential wins when several are present. - [Deploy managed settings](https://www.cameronshields.co.uk/docs/managed-settings.md): Put organisation policy on every developer machine, understand how Claude Code picks between managed sources, and diagnose a policy that is not applying. - [Server-managed settings](https://www.cameronshields.co.uk/docs/server-managed-settings.md): Push Claude Code policy from the claude.ai admin console with no MDM, and understand caching, approval dialogs, fail-closed startup and who actually receives it. - [Managed MCP](https://www.cameronshields.co.uk/docs/managed-mcp.md): Control which MCP servers your organisation's developers can use, from a fixed approved set to provided servers, allowlists, denylists and switching MCP off. - [Configure auto mode](https://www.cameronshields.co.uk/docs/auto-mode-config.md): Teach the auto mode classifier which repositories, buckets and domains you trust, adjust its block and allow rules, and inspect or reset the result. - [Enterprise deployment options](https://www.cameronshields.co.uk/docs/third-party-integrations.md): Compare Claude for Teams and Enterprise, the Console, Amazon Bedrock, Claude Platform on AWS, Vertex AI and Microsoft Foundry for an organisation-wide Claude Code rollout. - [Feature availability](https://www.cameronshields.co.uk/docs/feature-availability.md): Which Claude Code features work on a Claude subscription, the Console, Bedrock, Claude Platform on AWS, Vertex AI and Foundry, and which plans unlock what. - [Amazon Bedrock](https://www.cameronshields.co.uk/docs/amazon-bedrock.md): Run Claude Code against Claude models in your own AWS account: the setup wizard, credentials, model pinning, IAM, inference profiles, Mantle and troubleshooting. - [Claude Platform on AWS](https://www.cameronshields.co.uk/docs/claude-platform-on-aws.md): Point Claude Code at a Claude Platform on AWS workspace: AWS or API key authentication, the routing variables, model pinning, proxies and common errors. - [Google Vertex AI](https://www.cameronshields.co.uk/docs/google-vertex-ai.md): Run Claude Code on Claude models in your Google Cloud project via Agent Platform (formerly Vertex AI): wizard, credentials, regions, model pinning, IAM and fixes. - [Microsoft Foundry](https://www.cameronshields.co.uk/docs/microsoft-foundry.md): Connect Claude Code to Claude deployments in Microsoft Foundry on Azure, with API key, Entra ID or bearer token auth, pinned deployments and RBAC. - [Network configuration](https://www.cameronshields.co.uk/docs/network-config.md): Run Claude Code behind corporate proxies, TLS inspection and mTLS, tune streaming watchdogs, and know exactly which hosts to allowlist. - [Corporate launcher](https://www.cameronshields.co.uk/docs/corporate-launcher.md): Force every process Claude Code spawns from its own binary, including background agents, through a mandatory company launcher with processWrapper. - [Development containers](https://www.cameronshields.co.uk/docs/devcontainer.md): Run Claude Code inside a dev container so every engineer gets the same isolated toolchain, with persistent login, baked-in policy and optional egress limits. - [Run Claude Code through a gateway](https://www.cameronshields.co.uk/docs/gateways.md): What a model gateway does for an organisation, how Claude apps gateway compares with a gateway you already run, and what a gateway does not control. - [Claude apps gateway](https://www.cameronshields.co.uk/docs/claude-apps-gateway.md): Run Claude Code through Bedrock, Google Cloud, Foundry or the Anthropic API behind a self-hosted gateway with SSO sign-in, per-group policy and OTLP telemetry. - [Claude apps gateway configuration](https://www.cameronshields.co.uk/docs/claude-apps-gateway-config.md): Every gateway.yaml option for the Claude apps gateway, from listener, OIDC and Postgres through upstreams, model routing, group policies and telemetry. - [Claude apps gateway spend limits](https://www.cameronshields.co.uk/docs/claude-apps-gateway-spend-limits.md): Give each developer, group or the whole organisation a daily, weekly or monthly spend ceiling that the Claude apps gateway enforces on every request. - [Deploying and running Claude apps gateway](https://www.cameronshields.co.uk/docs/claude-apps-gateway-deploy.md): Production runbook for Claude apps gateway: IdP registration, network address, container image, Kubernetes and Cloud Run, operations, security and troubleshooting. - [Deploy Claude apps gateway on AWS](https://www.cameronshields.co.uk/docs/claude-apps-gateway-on-aws.md): A worked AWS build of Claude apps gateway: ECS Fargate or EKS, RDS for PostgreSQL, Secrets Manager, an internal ALB and IAM-role access to Bedrock. - [Deploy Claude apps gateway on Google Cloud](https://www.cameronshields.co.uk/docs/claude-apps-gateway-on-gcp.md): A worked Google Cloud build of Claude apps gateway on Cloud Run or GKE, with Cloud SQL, Secret Manager and a service account calling Agent Platform. - [Other LLM gateways](https://www.cameronshields.co.uk/docs/llm-gateway.md): Using an LLM gateway your organisation already runs with Claude Code, what it buys you, the rollout sequence and how it affects subscriptions. - [Connect Claude Code to an LLM gateway](https://www.cameronshields.co.uk/docs/llm-gateway-connect.md): Check whether your admin already pointed Claude Code at the company gateway, or set the base URL and credential yourself, test it and fix common errors. - [Roll out an LLM gateway](https://www.cameronshields.co.uk/docs/llm-gateway-rollout.md): An admin checklist for putting your own LLM gateway in front of Claude Code, from routing checks and developer keys to managed settings and upgrades. - [Gateway compatibility guide](https://www.cameronshields.co.uk/docs/llm-gateway-protocol.md): What Claude Code sends to an LLM gateway: API formats, headers to forward, response headers, attribution block, feature pass-through and model discovery. - [Monitoring usage with OpenTelemetry](https://www.cameronshields.co.uk/docs/monitoring-usage.md): Export Claude Code metrics, events and traces over OpenTelemetry: setup, admin locking, every metric and event, privacy gates and SIEM auditing. - [Manage costs](https://www.cameronshields.co.uk/docs/costs.md): Track Claude Code spend with /usage and /insights, control it across Teams, Enterprise, Console and cloud setups, and cut token use day to day. - [Analytics](https://www.cameronshields.co.uk/docs/analytics.md): Where to find Claude Code adoption, contribution and spend analytics for Team, Enterprise and Console customers, and how PR attribution is worked out. - [Security](https://www.cameronshields.co.uk/docs/security.md): How Claude Code keeps you in control: permission modes, built-in protections, prompt injection defences, MCP and cloud security, and team best practice. - [Data usage](https://www.cameronshields.co.uk/docs/data-usage.md): What Claude Code sends where: training policy by plan, retention periods, local transcripts, encryption, telemetry streams and the defaults per provider. - [Zero data retention](https://www.cameronshields.co.uk/docs/zero-data-retention.md): What zero data retention covers for Claude Code on Claude for Enterprise, what it does not, which features switch off, and how to get it enabled. - [HIPAA setup for Claude Code](https://www.cameronshields.co.uk/docs/hipaa-setup.md): Preparing developer machines for the HIPAA configuration on Claude Enterprise: eligible connections, versions, network hosts, managed settings and local data. - [Communications kit](https://www.cameronshields.co.uk/docs/communications-kit.md): Launch announcements, an exec-sponsor note, a pilot invite, a weekly tips campaign and FAQ replies for rolling Claude Code out to engineers. - [Champion kit](https://www.cameronshields.co.uk/docs/champion-kit.md): A practical playbook for engineers spreading Claude Code on their team: what to share, how to answer questions, a 30-day plan and replies to sceptics. ## Configuration - [Settings files and precedence](https://www.cameronshields.co.uk/docs/settings.md): Where Claude Code reads its settings from, which file a key belongs in, how to check a change landed, and which value wins when files disagree. - [Settings reference](https://www.cameronshields.co.uk/docs/settings-reference.md): Every settings.json key Claude Code reads, grouped by job, with the file each one belongs in, its accepted values, its default and worked examples. - [Example settings files](https://www.cameronshields.co.uk/docs/settings-example.md): Three realistic settings.json files, one personal, one for a team repository and one managed policy, with a note on every key so you can copy what you need. - [Permissions](https://www.cameronshields.co.uk/docs/permissions.md): How Claude Code decides what it may do without asking, how to write allow, ask and deny rules for every tool, and how trust, hooks and the sandbox fit in. - [Permission modes](https://www.cameronshields.co.uk/docs/permission-modes.md): How Claude Code's six permission modes decide what runs without asking, how to switch between them, and the checks no mode can skip. - [Sandboxing](https://www.cameronshields.co.uk/docs/sandboxing.md): Turn on Claude Code's built-in Bash sandbox, set which files and hosts shell commands can reach, protect credentials, and fix what it breaks. - [Sandbox environments](https://www.cameronshields.co.uk/docs/sandbox-environments.md): Compare the ways to isolate Claude Code, from the built-in Bash sandbox to the sandbox runtime, containers, VMs and cloud sessions, and pick one for your risk. - [Cloud environments](https://www.cameronshields.co.uk/docs/cloud-environments.md): Configure the VM your cloud sessions run in: network access, environment variables, network secrets, setup scripts and caching. - [Self-hosted environments](https://www.cameronshields.co.uk/docs/self-hosted-environments.md): Run Claude Code cloud sessions on runners inside your own network: how environments, runners and sessions fit together, and when to self-host. - [Self-hosted environments quickstart](https://www.cameronshields.co.uk/docs/self-hosted-environments-quickstart.md): Stand up your first self-hosted environment: one runner on one host, a test session routed to it, and a follow-up sent from the CLI. - [Deploy self-hosted environments to production](https://www.cameronshields.co.uk/docs/self-hosted-environments-deploy.md): Harden, network, image, size, run and troubleshoot a fleet of self-hosted Claude Code runners for production use. - [Customise self-hosted sessions](https://www.cameronshields.co.uk/docs/self-hosted-environments-configuration.md): Wrapper scripts, lifecycle hooks, on-demand runners, Bedrock or Agent Platform inference, MCP servers and permissions for self-hosted runners. - [Test self-hosted environments end to end](https://www.cameronshields.co.uk/docs/self-hosted-environments-testing.md): A CI smoke test for a new self-hosted runner image, dispatching sessions from the CLI and reading replies back through a Stop hook. - [Self-hosted environments reference](https://www.cameronshields.co.uk/docs/self-hosted-environments-reference.md): Every self-hosted runner and orchestrator flag, environment variable, health endpoint field and Prometheus metric in one place. - [Verify session identity in self-hosted environments](https://www.cameronshields.co.uk/docs/self-hosted-environments-identity.md): Validate the CLAUDE_CODE_SESSION_ACCESS_TOKEN JWT so internal services can trust, and attribute, requests from self-hosted Claude Code sessions. - [Model configuration](https://www.cameronshields.co.uk/docs/model-config.md): Pick the model Claude Code runs on, tune effort and thinking, control the 1M context window and auto-compaction, and lock models down for a team. - [Fast mode](https://www.cameronshields.co.uk/docs/fast-mode.md): Run Opus up to 2.5x faster for a higher per-token price, and understand the billing, requirements, gateway checks and rate limits that come with it. - [Advisor tool](https://www.cameronshields.co.uk/docs/advisor.md): Let a cheaper main model consult a stronger advisor model at key decision points, and learn the pairings, costs and limits involved. - [Output styles](https://www.cameronshields.co.uk/docs/output-styles.md): Change how Claude responds for a whole session with the Proactive, Concise, Explanatory or Learning styles, or write your own custom style. - [Terminal configuration](https://www.cameronshields.co.uk/docs/terminal-config.md): Fix Shift+Enter, Option-key shortcuts, notifications, tmux, themes, pasting and Vim mode so your terminal and Claude Code cooperate. - [Fullscreen rendering](https://www.cameronshields.co.uk/docs/fullscreen.md): Switch Claude Code to its flicker-free fullscreen renderer, and learn how scrolling, mouse selection, search and tmux behave there. - [Accessibility](https://www.cameronshields.co.uk/docs/accessibility.md): Run Claude Code with a screen reader such as VoiceOver or NVDA, and tune it for magnifiers, reduced motion and colour vision differences. - [Voice dictation](https://www.cameronshields.co.uk/docs/voice-dictation.md): Speak prompts into the Claude Code CLI with hold-to-talk or tap-to-send dictation, change the language, rebind the key and fix microphone problems. - [Status line](https://www.cameronshields.co.uk/docs/statusline.md): Build a custom status line for Claude Code that shows model, context use, cost, git state or rate limits, using any script that reads JSON on stdin. - [Keybindings](https://www.cameronshields.co.uk/docs/keybindings.md): Remap Claude Code's keyboard shortcuts with ~/.claude/keybindings.json, with every context, action, default key and the keystroke syntax. ## Reference - [CLI reference](https://www.cameronshields.co.uk/docs/cli-reference.md): Every claude subcommand and launch flag, grouped by job, plus how the system prompt flags combine and behave across resumed conversations. - [Commands](https://www.cameronshields.co.uk/docs/commands.md): Every built-in command, bundled skill and bundled workflow you can run with / in Claude Code, grouped by what you are trying to do. - [Environment variables](https://www.cameronshields.co.uk/docs/env-vars.md): Every environment variable Claude Code reads, grouped by purpose, with how to set them, how they interact with settings, and which ones disable feature flags. - [Tools reference](https://www.cameronshields.co.uk/docs/tools-reference.md): Every built-in tool Claude Code can call, whether it prompts, how to name it in rules and hooks, and the detailed behaviour of Bash, Edit, Read, WebFetch and the rest. - [Interactive mode](https://www.cameronshields.co.uk/docs/interactive-mode.md): Keyboard shortcuts, vim mode, shell mode, queued messages, /btw, /diff, spell checking, usage-limit waits and the other features of an interactive session. - [Checkpointing](https://www.cameronshields.co.uk/docs/checkpointing.md): How Claude Code snapshots files before each prompt, how to rewind code or conversation with /rewind, and what checkpoints cannot undo. - [Hooks reference](https://www.cameronshields.co.uk/docs/hooks.md): Every hook event, matcher, handler type, input field, exit code and JSON output field in Claude Code, with worked examples and the security rules that apply. - [Channels reference](https://www.cameronshields.co.uk/docs/channels-reference.md): Build an MCP server that pushes alerts, webhooks or chat messages into a Claude Code session, with reply tools, sender gating and permission relay. - [Glossary](https://www.cameronshields.co.uk/docs/glossary.md): Plain-English definitions of the terms you meet when using Claude Code, from agentic loop and compaction to turns, transcripts and worktree isolation. ## Agent SDK - [Agent SDK overview](https://www.cameronshields.co.uk/docs/agent-sdk/overview.md): What the Claude Agent SDK is, how it differs from the CLI and the plain API, and what you get when you embed Claude Code in your own app. - [Agent SDK quickstart](https://www.cameronshields.co.uk/docs/agent-sdk/quickstart.md): Install the Python or TypeScript Agent SDK, set your credentials and run a first agent that tidies up a small script on its own. - [Migrating to the Agent SDK](https://www.cameronshields.co.uk/docs/agent-sdk/migration-guide.md): Move a project from the old Claude Code SDK packages to the Claude Agent SDK, including the renamed options type and the system prompt change. - [Agent SDK troubleshooting](https://www.cameronshields.co.uk/docs/agent-sdk/troubleshooting.md): Fix Agent SDK errors when the Claude Code binary will not start, the process exits unexpectedly, or a successful run has no structured output. - [Configure your agent](https://www.cameronshields.co.uk/docs/agent-sdk/configuration.md): Build the Agent SDK options object, choose a model and fallback, set environment and working directory, cap turns and spend, and change settings mid-session. - [Example agents](https://www.cameronshields.co.uk/docs/agent-sdk/examples.md): Where to find runnable Agent SDK projects and step-by-step recipes, plus a few small agent patterns worth copying into your own work. - [How the agent loop works](https://www.cameronshields.co.uk/docs/agent-sdk/agent-loop.md): What happens between your prompt and the final result in an Agent SDK session, from turns and message types to tools, limits, context and compaction. - [Claude Code features in the SDK](https://www.cameronshields.co.uk/docs/agent-sdk/claude-code-features.md): Load CLAUDE.md, rules, skills, hooks and other filesystem configuration into Agent SDK sessions, and control exactly which sources an agent reads. - [Sessions](https://www.cameronshields.co.uk/docs/agent-sdk/sessions.md): How the Agent SDK keeps conversation history, and when to continue, resume or fork a session to pick work back up. - [Session storage](https://www.cameronshields.co.uk/docs/agent-sdk/session-storage.md): Mirror Agent SDK session transcripts to your own database or object store with a SessionStore adapter, so any host can resume a conversation. - [Streaming input versus single messages](https://www.cameronshields.co.uk/docs/agent-sdk/streaming-vs-single-mode.md): The two ways to send prompts to an Agent SDK agent, what each one supports, and when a long-lived streaming session is worth the extra code. - [User input and approvals](https://www.cameronshields.co.uk/docs/agent-sdk/user-input.md): Route Claude's permission requests and clarifying questions to a real person with the canUseTool callback, then hand their decision back to the agent. - [Streaming output](https://www.cameronshields.co.uk/docs/agent-sdk/streaming-output.md): Turn on partial messages in the Agent SDK to show text and tool calls token by token, and build a responsive progress display. - [Structured outputs](https://www.cameronshields.co.uk/docs/agent-sdk/structured-outputs.md): Get validated JSON back from an Agent SDK run using JSON Schema, Zod or Pydantic, even after many turns of tool use. - [Custom tools](https://www.cameronshields.co.uk/docs/agent-sdk/custom-tools.md): Give an Agent SDK agent your own functions as tools using the in-process MCP server, with schemas, annotations, error handling and rich results. - [MCP in the Agent SDK](https://www.cameronshields.co.uk/docs/agent-sdk/mcp.md): Connect Model Context Protocol servers to an Agent SDK agent over stdio, HTTP or SSE, approve their tools, handle authentication and diagnose failed connections. - [Tool search](https://www.cameronshields.co.uk/docs/agent-sdk/tool-search.md): Let an Agent SDK agent work with hundreds or thousands of tools by discovering and loading definitions only when a task needs them. - [Subagents in the SDK](https://www.cameronshields.co.uk/docs/agent-sdk/subagents.md): Define specialist subagents in code, control their tools and models, detect and resume them, and cap how far delegation can spread. - [Modifying system prompts](https://www.cameronshields.co.uk/docs/agent-sdk/modifying-system-prompts.md): Pick between the claude_code preset, append, a custom prompt or no prompt, and control the extra context Claude Code adds to an SDK session. - [Skills in the SDK](https://www.cameronshields.co.uk/docs/agent-sdk/skills.md): Load SKILL.md skills into Agent SDK sessions, limit which ones Claude may use, dispatch slash commands by name and fix skills that will not load. - [Plugins in the SDK](https://www.cameronshields.co.uk/docs/agent-sdk/plugins.md): Load local plugin directories into Agent SDK sessions to add skills, agents, hooks and MCP servers, then confirm they loaded and call their skills. - [Permissions in the SDK](https://www.cameronshields.co.uk/docs/agent-sdk/permissions.md): How the Agent SDK decides whether a tool call runs, with allow and deny rules, the six permission modes and the traps that silently widen access. - [Hooks in the SDK](https://www.cameronshields.co.uk/docs/agent-sdk/hooks.md): Register callback hooks in Agent SDK apps to block, rewrite, log or annotate tool calls and lifecycle events, with every event, output field and timeout. - [File checkpointing](https://www.cameronshields.co.uk/docs/agent-sdk/file-checkpointing.md): Record file edits an Agent SDK session makes and roll files back to any earlier user message with rewindFiles or rewind_files. - [Cost tracking](https://www.cameronshields.co.uk/docs/agent-sdk/cost-tracking.md): Read token usage and estimated cost from Agent SDK messages, avoid double counting, handle streaming and crashes, and tune prompt cache TTLs. - [Observability with OpenTelemetry](https://www.cameronshields.co.uk/docs/agent-sdk/observability.md): Export traces, metrics and log events from Agent SDK runs to any OTLP backend, link them to your own traces and tag them by agent and end user. - [Todo tracking](https://www.cameronshields.co.uk/docs/agent-sdk/todo-tracking.md): Opt Agent SDK sessions into Claude's task list tools and turn TaskCreate and TaskUpdate calls into a live progress display in your app. - [Hosting the Agent SDK](https://www.cameronshields.co.uk/docs/agent-sdk/hosting.md): Run Agent SDK agents in production containers, choose a session pattern, persist state, size hosts and isolate tenants that share a machine. - [Secure deployment](https://www.cameronshields.co.uk/docs/agent-sdk/secure-deployment.md): Harden Agent SDK and Claude Code deployments with isolation layers, credential-injecting proxies, egress control and careful filesystem mounts. - [TypeScript SDK reference](https://www.cameronshields.co.uk/docs/agent-sdk/typescript.md): The complete @anthropic-ai/claude-agent-sdk API: functions, Options, the Query object, every message type, hook types, tool schemas, permissions and sandbox settings. - [TypeScript V2 session API (removed)](https://www.cameronshields.co.uk/docs/agent-sdk/typescript-v2-preview.md): Reference for the experimental unstable_v2 session API removed in TypeScript Agent SDK 0.3.142, and how to migrate code that still uses it. - [Python SDK reference](https://www.cameronshields.co.uk/docs/agent-sdk/python.md): Every function, class, option, message type, hook type, error and built-in tool schema in the claude-agent-sdk Python package, with notes on the traps.