Skip to content

ClaudeForge 2026.2.612

Choose a tag to compare

@github-actions github-actions released this 12 Jun 20:03

Downloads

Platform Architecture File
Windows x64 ClaudeForge-win-x64.zip
Windows ARM64 ClaudeForge-win-arm64.zip
Linux x64 ClaudeForge-linux-x64.tar.gz
Linux ARM64 ClaudeForge-linux-arm64.tar.gz
macOS (Intel) x64 ClaudeForge-osx-x64.tar.gz
macOS (Apple Silicon) ARM64 ClaudeForge-osx-arm64.tar.gz

Linux: Extract, then run the bundled linux-setup.sh to install a per-user .desktop entry so Wayland compositors render the window icon correctly:

tar -xzf ClaudeForge-linux-x64.tar.gz -C ~/ClaudeForge
cd ~/ClaudeForge
./linux-setup.sh
./ClaudeForge

macOS: The binary is unsigned. Use the bundled allow-app-to-run.sh to strip the Gatekeeper quarantine xattr from every file in the extracted directory:

tar -xzf ClaudeForge-osx-arm64.tar.gz -C ~/ClaudeForge
cd ~/ClaudeForge
./allow-app-to-run.sh
./ClaudeForge

Added

  • Permissions tabs — the single Permissions editor is now a set of sibling tabs contributed by ClaudeGroupTabCustomizer: Overview (rule-syntax explainer, the "How permission rules work" accordion, the defaultMode selector with its contextual banners, and an Advanced accordion for disableBypassPermissionsMode + additionalDirectories), Common, Build, and Lists. Overview is the default landing tab; all tabs bind to one PermissionsEditorViewModel, so the header and every activity tab share a single source of truth.
  • Common tab — one-click taxonomy presets — a curated catalog of common actions grouped per tool (File, Bash, PowerShell, Web, …) and ordered safe-first. Each row carries a Read / Write / Network / Destructive chiclet and an Allow / Deny / Ask button, so granting or blocking a typical action is a single click instead of hand-typed syntax. A Windows hint points at the WSL group; an empty state appears once everything is already configured.
  • Build tab — guided rule builder — pick a tool family, fill the one field that matters (command, path, domain, MCP server, or agent), toggle prefix-match ( *) or recursive as appropriate, and watch a live preview of the emitted rule plus a plain-English gloss. The builder emits only syntax that satisfies PermissionRule.TryParse, so it cannot produce a shape-invalid rule. A file/folder picker backs path tools; an MCP server dropdown backs mcp__ rules.
  • Build tab — dry-run permission tester — a "Test this rule" bridge seeds the tester from the builder's current inputs and expands it; the tester simulates a candidate operation against the full Allow/Deny/Ask ruleset and reports the resulting decision, so you can confirm a rule does what you intended before saving.
  • Permission matching engine (SDK) — new Permissions/Matching layer powering the builder, tester, and collision detection: PermissionRule.TryParse / ParsedPermissionRule, per-tool matchers (BashCommandSplitter + BashRuleMatcher, PathRuleMatcher, McpRuleMatcher, WebFetchRuleMatcher, AgentRuleMatcher, BareToolMatcher), and a PermissionResolver / PermissionCollisionDetector that produce a precedence-aware PermissionDecision.
  • Automatic conflict resolution — adding a rule now prunes an identical lower-precedence rule from another bucket, or is skipped when a higher-precedence bucket already covers it, with the action explained inline (ConflictResolutionMessage).
  • Schema-coverage guarantee — the permissions editor renders every key in the permissions schema. Keys with a bespoke control are declared in CoveredKeys; any other schema key (e.g. disableAutoMode) is auto-surfaced through the generic editor factory and rendered in place on Advanced — fixing a class of silent drop-bugs where an unhandled key round-tripped but was uneditable. Config shapes the typed editors can't represent are preserved as editable raw JSON and recorded once to the log (UnsupportedShapeSink) rather than lost.
  • Default Mode safety rails — the defaultMode selector shows each mode's description and a screen-reader-friendly name; selecting bypassPermissions raises a red danger banner; auto is gated to auto-capable models at User scope (ineligible selections coerce to default with an advisory); and "danger"/"bypass" searches deep-link here with a contextual hint clarifying that --dangerouslySkipPermissions has no config key but bypassPermissions is equivalent.
  • Model catalog — a single bundled source of truth
    (src/ClaudeForge.Core/Assets/ModelCatalog/model-catalog.json) for the allowed
    model / effortLevel / permissions.defaultMode values and their
    inter-relationships, replacing several hardcoded lists. Surfaced through the
    new SDK accessor IClaudeConfigClient.Models (IModelCatalogAccessor); the
    curated file is overlay-able (model-catalog.overlay.json, RFC 7396) and
    validated by scripts/validate-model-catalog.ps1 +
    .github/workflows/model-catalog-refresh.yml.
  • Model-aware effort & mode editors — the Essentials effort dropdown now
    shows only the levels the selected model supports; an invalidated effort
    auto-coerces to the nearest analog (e.g. max/xhighhigh on Sonnet 4.6)
    as an editing-scope override, surfaced in the Save preview. A model with no
    effort (Haiku) disables the control. permissions.defaultMode = auto is gated
    to auto-capable models at User scope, with the option filtered out and an
    ineligible selection coerced to default. A read-only "current model —
    supports …" indicator sits beside the effort editor.
  • Editable model field — the Essentials model card is now a free-form
    AutoCompleteBox (catalog entries are suggestions; any custom id can be typed).
  • bypassPermissions search shortcut — typing "bypass" deep-links to the
    Default Mode editor with a hint, distinct from the --dangerouslySkipPermissions
    flag result and the "disable bypass" card.
  • Dynamic-access tripwire — the build-time dead-string guard now also fails
    the build on by-name/reflective resource access (Strings.ResourceManager,
    typeof(Strings)) in project source, keeping its literal-Strings.<Key>
    analysis sound.

Changed

  • Lists tab is now one surface among several, not the whole page — the original free-text Allow / Deny / Ask lists survive on the Lists tab for direct/bulk editing, with inline schema validation (red outline + explanation), per-list counts, and worked examples. Rules added from Common or Build land in these same lists.
  • Permissions editing was hardened against emitting no-op ("ghost") config changes from UI controls, so the Save preview reflects only real edits.
  • model / effortLevel / permissions.defaultMode option lists are now
    catalog-driven and inter-aware rather than hardcoded.
  • Fixed 'missing files' that originate in the 'selected project' tree during backup scenarios
  • Newly available localizations