claude-howto
AI Coding ToolsA step‑by‑step visual guide and template collection for mastering Claude Code, turning basic prompts into production‑ready workflows with tutorials, quizzes, and copy‑paste configs.
Features
- Structured visual tutorials covering every Claude Code feature
- Ready‑to‑use config templates (slash commands, hooks, MCP servers, etc.)
- Guided learning path with time estimates and interactive quizzes
Recent releases
View all 10 releases →- `worktree.baseRef` default changed to `
- fresh
- Plan mode blocks all file writes unconditionally, overriding any `Edit(...)` permission rules.
- `worktree.baseRef` setting (v2.1.133) – controls branch source (`"fresh"` default or `"head"`).
- `autoMode.hard_deny` admin key (v2.1.136) – array of non‑negotiable classifier block rules.
- `parentSettingsBehavior` admin key (v2.1.133+, admin-tier) – merge strategy for `managedSettings` (`"first-wins"` or `"merge"`).
Full changelog
Synced to Claude Code v2.1.138
Bumps tutorial coverage from Claude Code v2.1.131 → v2.1.138 (May 9, 2026
release). Anthropic shipped seven patches between v2.1.132 and v2.1.138 since
the last sync.
Added (English docs)
worktree.baseRefsetting (v2.1.133) — controls whetherclaude --worktree
branches fromorigin/<default>("fresh", default) or localHEAD
("head"). Behavior change: the"fresh"default reverts the v2.1.128
behavior, so users who relied on local-HEADbranching after v2.1.128 must
opt back in. Documented in09-advanced-features/README.md.autoMode.hard_denyadmin key (v2.1.136) — array of classifier rules that
block a class of actions regardless of inferred user intent. Use for
actions that must never run in auto mode (e.g.,rm -rf /, force-push to
protected branches). Unlikesoft_deny, hard-deny rules are not negotiable
by the classifier. Documented in09-advanced-features/README.md.parentSettingsBehavioradmin key (v2.1.133+, admin-tier) — controls how
the SDK'smanagedSettingsmerges with parent-process settings.
"first-wins"keeps existing precedence;"merge"deep-merges values.
Documented in09-advanced-features/README.md.Setuphook event — initial environment setup (one-time per session); use
to provision tooling or install deps. Brings the documented hook-events
total from 28 to 29. Documented in06-hooks/README.md.effort.levelfield in hook input JSON (v2.1.133) — exposes the active
effort level (low/medium/high/xhigh/max) to hooks. Documented in
06-hooks/README.md.CLAUDE_CODE_SESSION_IDenvironment variable in Bash subprocesses
(v2.1.132) — session UUID matching thesession_idfield in hook input
JSON, for correlating bash logs with hook telemetry. Documented in
06-hooks/README.md.CLAUDE_EFFORTenvironment variable in Bash subprocesses (v2.1.133) —
active effort level, matchingeffort.levelin hook input JSON. Documented
in06-hooks/README.md.sandbox.bwrapPathandsandbox.socatPathsettings (v2.1.133+, Linux/WSL)
— point Claude Code at non-standard install locations forbubblewrapand
socat. Default to$PATHlookup. Documented in
09-advanced-features/README.md.CLAUDE_CODE_DISABLE_ALTERNATE_SCREENenvironment variable (v2.1.132).
Documented in09-advanced-features/README.md.CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTELenvironment variable
(v2.1.136) — re-enables the session-quality survey for organizations
capturing OpenTelemetry data; off by default in OTEL deployments.
Documented in09-advanced-features/README.md.
Changed
- Behavior change: Plan mode now blocks all file writes unconditionally
(v2.1.136), including when a matchingEdit(...)rule exists in
permissions.allow. Previously a permissiveEdit(...)rule could let
writes through in plan mode; that bypass is closed. Workflows that
depended on the older behavior must exit plan mode (Shift+Tab) before
editing. Documented in09-advanced-features/README.md. - Plugin spaced slash commands (e.g.,
/myplugin review) now resolve to
/myplugin:review. Pluginskillsconfig entries no longer hide the
defaultskills/directory — both are merged. Documented in
07-plugins/README.md. - MCP servers now persist across
/clear(v2.1.132+). Documented in
05-mcp/README.md. - Subagents discover project, user, and plugin skills via the Skill tool
(v2.1.133). Documented in04-subagents/README.md. --permission-modeis now honored when resuming plan-mode sessions
(v2.1.132). Documented in09-advanced-features/README.md.CronListoutput now includes the qualifier(s) and the scheduled prompt
body (v2.1.136), so you can audit what each cron will run without opening
it. Documented in09-advanced-features/README.md.
Fixed
- OAuth refresh-token concurrent-refresh race condition.
- INDEX.md count drift: Skills 28 → 16, Plugins 40 → 27, Hooks scripts
8 → 9 (recounted from the markdown content tree). The new totals reflect a
.md-only methodology that scopes counts to tutorial content rather than
build artifacts and config. - Stale source URLs in
CATALOG.md(v2.1.118 → v2.1.138) and
claude_concepts_guide.md(v2.1.117 → v2.1.138). Removed a duplicate
legacy footer in the concepts guide.
Notes for translation maintainers
The vi/, zh/, uk/, and ja/ localized trees are community-maintained
and may lag the English source. Contributors syncing translations should diff
against the English files updated in this release.
What's Changed
- fix(markdown): escape pipe chars in markdown tables across zh/en/ja/vi by @iiitutu in https://github.com/luongnv89/claude-howto/pull/115
- docs: sync to Claude Code v2.1.138 by @luongnv89 in https://github.com/luongnv89/claude-howto/pull/117
New Contributors
- @iiitutu made their first contribution in https://github.com/luongnv89/claude-howto/pull/115
Full Changelog: https://github.com/luongnv89/claude-howto/compare/v2.1.131...v2.1.138
- Set CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 to retain previous automatic model discovery behavior.
- Deprecation warning: Prior reliance on ANTHROPIC_BASE_URL alone will no longer auto‑populate /v1/models; update configurations accordingly.
- Gateway /v1/models discovery is now opt‑in; must set CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 to enable, otherwise falls back to static list.
- --plugin-url flag (repeatable) fetches a plugin .zip from a URL for the current session
- CLAUDE_CODE_FORCE_SYNC_OUTPUT env var forces synchronous output in terminals with missed auto‑detection
- CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE enables background upgrades for Homebrew/WinGet installs
Full changelog
Synced to Claude Code v2.1.131
Bumps tutorial coverage from Claude Code v2.1.126 → v2.1.131 (May 6, 2026
release). Anthropic shipped v2.1.128, v2.1.129, and v2.1.131 since the last
sync; v2.1.127 and v2.1.130 were skipped and never released publicly.
Added (English docs)
--plugin-url <url>flag (v2.1.129) — fetches a plugin.ziparchive from
a URL for the current session. Repeatable. Documented in
07-plugins/README.md.CLAUDE_CODE_FORCE_SYNC_OUTPUTenv var (v2.1.129) — forces synchronous
output for terminals where auto-detection misses (e.g., Emacseat).
Documented in10-cli/README.mdand09-advanced-features/README.md.CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATEenv var (v2.1.129) — enables
background upgrades for Homebrew/WinGet installs (which normally do not
auto-update). Documented in10-cli/README.mdand
09-advanced-features/README.md.CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERYenv var (v2.1.129) — required
to opt in to/v1/modelsgateway discovery (see Changed). Documented in
10-cli/README.md.disableRemoteControlsetting (v2.1.128) — admins can block
claude remote-controland/remote-controlvia managed/policy scope.
Documented in09-advanced-features/README.md.--plugin-diraccepts.ziparchives (v2.1.128) — alongside directory
inputs. Documented in07-plugins/README.md.skillOverridesaccepts"name-only"and"user-invocable-only"
(v2.1.129) — in addition to the previous"on"/"off". Documented in
03-skills/README.md.
Changed
- Behavior change: Gateway
/v1/modelsdiscovery is now opt-in
(v2.1.129). Previously (v2.1.126), settingANTHROPIC_BASE_URLautomatically
populated/modelfrom the gateway's/v1/modelsendpoint. From v2.1.129,
users must additionally setCLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1;
without the env var,/modelfalls back to the built-in static list.
Documented in10-cli/README.md. /mcpshows tool count per server and visually flags servers reporting 0
tools (v2.1.128). Documented in05-mcp/README.md.- Bare
/color(no args) picks a random session color (v2.1.128); explicit
/color <name|hex>continues to set a specific color. Documented in
01-slash-commands/README.md. --channelsflag now works with API-key (console) authentication
(v2.1.128). Earlier releases required Pro/Max OAuth. Documented in
09-advanced-features/README.md.- Ctrl+R history picker defaults to all prompts across all projects
(v2.1.129). Press Ctrl+S inside the picker to narrow scope to the current
project. Documented in09-advanced-features/README.md. /contextno longer dumps its ASCII visualization into the conversation
(v2.1.129). The viz is shown in-UI only; no more ~1.6k token cost per
invocation. Documented in09-advanced-features/README.md.- Oversized images in drag-and-drop are auto-downscaled (v2.1.128) — earlier
versions rejected images outright.
Fixed
- VS Code extension activation on Windows (v2.1.131).
- Mantle endpoint authentication (v2.1.131).
- 1-hour prompt-cache TTL no longer truncated to 5 minutes (v2.1.129).
- Crash on stdin payloads larger than 10 MB (v2.1.128).
Notes for translation maintainers
The vi/, zh/, uk/, and ja/ localized trees are community-maintained
and may lag the English source. Contributors syncing translations should diff
against the English files updated in this release.
Full Changelog: https://github.com/luongnv89/claude-howto/compare/v2.1.126...v2.1.131
- Fixed `allowManagedDomainsOnly` / `allowManagedReadPathsOnly` being ignored when a higher‑priority managed‑settings source lacked a `sandbox` block (v2.1.126)
- `claude project purge [path]` subcommand (adds `--dry-run`, `-y/--yes`, `-i/--interactive`, `--all`)
- `claude plugin prune` removes orphaned auto‑installed plugin dependencies
- `claude ultrareview [target]` runs `/ultrareview` non‑interactively with JSON output support
Full changelog
Synced to Claude Code v2.1.126
Bumps tutorial coverage from Claude Code v2.1.119 → v2.1.126 (May 1, 2026 release).
v2.1.120 was rolled back on its first release day (2026-04-24) but re-released
successfully on 2026-04-28 with the originally-reported regressions fixed.
v2.1.124 and v2.1.125 were skipped by Anthropic and never released.
Added (English docs)
claude project purge [path]subcommand (v2.1.126) — deletes all Claude Code state for a project (transcripts, tasks, debug logs, file-edit history, prompt history,~/.claude.jsonentry). Supports--dry-run,-y/--yes,-i/--interactive,--all. Documented in10-cli/README.md.claude plugin prunesubcommand (v2.1.121) — removes orphaned auto-installed plugin dependencies;plugin uninstall --prunecascades. Documented in07-plugins/README.md.claude ultrareview [target]subcommand (v2.1.120) — runs/ultrareviewnon-interactively from CI/scripts, prints findings to stdout, exits 0/1 on success/failure; supports--jsonand--timeout <minutes>. Documented in10-cli/README.md.${CLAUDE_EFFORT}placeholder available inside skill content (v2.1.120) — resolves to the current effort level. Documented in03-skills/README.md.alwaysLoadMCP server config option (v2.1.121) — whentrue, all tools from that server skip tool-search deferral. Documented in05-mcp/README.md.PostToolUse.hookSpecificOutput.updatedToolOutputnow works for all tools (v2.1.121), previously MCP-only. Documented in06-hooks/README.md.ANTHROPIC_BEDROCK_SERVICE_TIERenvironment variable (v2.1.122) — selects Bedrock service tier (default,flex,priority).--dangerously-skip-permissionsextended-path coverage (v2.1.121, v2.1.126) — now bypasses prompts for writes to.claude/skills/,.claude/agents/,.claude/commands/,.claude/,.git/,.vscode/, shell config files. Catastrophic removal commands (rm -rf /etc.) still prompt.- OAuth code paste fallback (v2.1.126) —
claude auth loginaccepts the OAuth code pasted into the terminal when the browser callback can't reach localhost (WSL2, SSH, containers). - Type-to-filter
/skillsmenu (v2.1.121). AI_AGENTenvironment variable (v2.1.120) — set on subprocesses soghcan attribute traffic to Claude Code.
Changed
--from-pr(v2.1.119) and/resumePR-URL search (v2.1.122) now both support GitHub, GitHub Enterprise, GitLab, and Bitbucket URLs.- Windows: Git for Windows / Git Bash no longer required (v2.1.120). From v2.1.126, PowerShell is the primary shell when the PowerShell tool is enabled. Detection extended to PowerShell 7 installed via Microsoft Store, MSI without PATH, or
.NET global tool. /modelpicker now lists models from your gateway's/v1/modelsendpoint whenANTHROPIC_BASE_URLpoints at an Anthropic-compatible gateway (v2.1.126).- Image paste auto-downscale (v2.1.126) — images larger than 2000px are downscaled on paste; oversized images in history are auto-removed and the request retried.
Security
- Fixed
allowManagedDomainsOnly/allowManagedReadPathsOnlybeing ignored when a higher-priority managed-settings source lacked asandboxblock (v2.1.126).
See CHANGELOG.md for full details.
What's Changed
- docs: sync to Claude Code v2.1.119 by @luongnv89 in https://github.com/luongnv89/claude-howto/pull/94
- fix: replace invalid
difftool withbashin security-reviewer agents by @xiaolai in https://github.com/luongnv89/claude-howto/pull/89 - fix: pin requirements.txt to known-good versions by @xiaolai in https://github.com/luongnv89/claude-howto/pull/90
- fix: constrain cross-reference resolution to repo root by @xiaolai in https://github.com/luongnv89/claude-howto/pull/91
- test(scripts): cover repo-root boundary in check_cross_references by @luongnv89 in https://github.com/luongnv89/claude-howto/pull/95
- docs(plugins): clarify marketplace update vs plugin update and add auto-update documentation by @lzw-git-all in https://github.com/luongnv89/claude-howto/pull/84
- docs(skills): improve skill loading process diagram clarity by @lzw-git-all in https://github.com/luongnv89/claude-howto/pull/81
- fix(advanced-features): correct effort level model support by @luongnv89 in https://github.com/luongnv89/claude-howto/pull/96
- docs(skills): question-bank fixes by @OleksandrDemidov in https://github.com/luongnv89/claude-howto/pull/97
- feat(hooks): add SessionEnd progress logger and local progress tracker by @DhanyaJose in https://github.com/luongnv89/claude-howto/pull/87
- fix(cli): correct agent priority order to match official docs by @luongnv89 in https://github.com/luongnv89/claude-howto/pull/100
- docs(hooks): fix README divergence in Example 8 SessionEnd hook by @luongnv89 in https://github.com/luongnv89/claude-howto/pull/101
- docs: sync to Claude Code v2.1.119 (delta from 2026-04-24 plan) by @luongnv89 in https://github.com/luongnv89/claude-howto/pull/102
- feat(i18n): Add Japanese (ja/) translation by @Foxsunshine in https://github.com/luongnv89/claude-howto/pull/105
- fix(memory): correct quiz Q2 answer from discontinued # prefix to /memory by @jeffreyyjp in https://github.com/luongnv89/claude-howto/pull/107
- fix(extended-thinking): correct fictional /think command to valid ultrathink keyword by @lzw-git-all in https://github.com/luongnv89/claude-howto/pull/83
- fix(quiz): correct Q4 extended thinking toggle wording by @lzw-git-all in https://github.com/luongnv89/claude-howto/pull/109
- fix(skills): reference templates and scripts from code-review SKILL.md by @muratclk in https://github.com/luongnv89/claude-howto/pull/62
- fix(lesson-quiz): shuffle answer options and add per-round feedback by @seanxue in https://github.com/luongnv89/claude-howto/pull/76
- docs: sync to Claude Code v2.1.126 by @luongnv89 in https://github.com/luongnv89/claude-howto/pull/111
New Contributors
- @xiaolai made their first contribution in https://github.com/luongnv89/claude-howto/pull/89
- @lzw-git-all made their first contribution in https://github.com/luongnv89/claude-howto/pull/84
- @OleksandrDemidov made their first contribution in https://github.com/luongnv89/claude-howto/pull/97
- @DhanyaJose made their first contribution in https://github.com/luongnv89/claude-howto/pull/87
- @Foxsunshine made their first contribution in https://github.com/luongnv89/claude-howto/pull/105
- @jeffreyyjp made their first contribution in https://github.com/luongnv89/claude-howto/pull/107
- @muratclk made their first contribution in https://github.com/luongnv89/claude-howto/pull/62
- @seanxue made their first contribution in https://github.com/luongnv89/claude-howto/pull/76
Full Changelog: https://github.com/luongnv89/claude-howto/compare/v2.1.112...v2.1.126
- Complete Ukrainian (uk) localization across all modules, root docs, examples, references
Full changelog
v2.1.112 — 2026-04-16
Highlights
- Sync all English tutorials with Claude Code v2.1.112 and the new Opus 4.7 model (
claude-opus-4-7), including the newxhigheffort level (default on Opus 4.7, betweenhighandmax), two new built-in slash commands (/ultrareview,/less-permission-prompts), auto-mode no longer requiring--enable-auto-modefor Max subscribers on Opus 4.7, the PowerShell tool on Windows, the "Auto (match terminal)" theme, and plan files named after prompts. All 18 EN doc footers bumped to Claude Code v2.1.112. @Luong NGUYEN
Features
- Add complete Ukrainian (uk) localization across all modules, root docs, examples, and references (#039dde2) @Evgenij I
Bug Fixes
- Correct pre-tool-check.sh hook protocol bugs (bce7cf8) @yarlinghe
- Change bad mermaid example to text block to pass CI (b8a7b1f) @Evgenij I
- Fix CP1251 encoding in Ukrainian claude_concepts_guide.md ToC (d970cc6) @Evgenij I
- Replace stub Ukrainian README with full translation, fix broken anchors (f6d73e2) @Evgenij I
- Correct Claude Code version to 2.1.97 across all footers (63a1416) @Luong NGUYEN
- Apply 2026-04-09 documentation accuracy updates (e015f39) @Luong NGUYEN
Documentation
- Sync to Claude Code v2.1.112 (Opus 4.7,
xhigheffort,/ultrareview,/less-permission-prompts, PowerShell tool, Auto-match-terminal theme) — uncommitted working-tree update landed with this release @Luong NGUYEN - Sync to Claude Code v2.1.110 (TUI, push notifications, session recap) (15f0085) @Luong NGUYEN
- Sync to Claude Code v2.1.101 with
/team-onboarding,/ultraplan, Monitor tool (2deba3a) @Luong NGUYEN - Sync Vietnamese documentation with English source (561c6cb) @Thiên Toán
- Update Last Updated date and Claude Code version across all files (7f2e773) @Luong NGUYEN
- Add Ukrainian language link to language switcher (9c224ff) @Luong NGUYEN
- Remove contributors section (f07313d) @Luong NGUYEN
- Update GitHub metrics to 21,800+ stars, 2,585+ forks (4f55374) @Luong NGUYEN
Full Changelog: https://github.com/luongnv89/claude-howto/compare/v2.3.0...v2.1.112
What's Changed
- docs(vi): sync Vietnamese documentation with English source by @toanalien in https://github.com/luongnv89/claude-howto/pull/60
- docs: sync to Claude Code v2.1.101 with /team-onboarding, /ultraplan, Monitor tool by @luongnv89 in https://github.com/luongnv89/claude-howto/pull/73
- fix(hooks): correct pre-tool-check.sh hook protocol bugs by @yarlinghe in https://github.com/luongnv89/claude-howto/pull/72
- i18n(uk): Add complete Ukrainian localization by @edocltd in https://github.com/luongnv89/claude-howto/pull/64
- docs: sync to Claude Code v2.1.110 (TUI, push notifications, session recap) by @luongnv89 in https://github.com/luongnv89/claude-howto/pull/80
New Contributors
- @yarlinghe made their first contribution in https://github.com/luongnv89/claude-howto/pull/72
- @edocltd made their first contribution in https://github.com/luongnv89/claude-howto/pull/64
Full Changelog: https://github.com/luongnv89/claude-howto/compare/v2.3.0...v2.1.112
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.