Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
2.0.71→2.1.21.0.164→1.1.8Release Notes
anthropics/claude-code (npm:@anthropic-ai/claude-code)
v2.1.2Compare Source
FORCE_AUTOUPDATE_PLUGINSenvironment variable to allow plugin autoupdate even when the main auto-updater is disabledagent_typeto SessionStart hook input, populated if--agentis specified@includedirectives in CLAUDE.md files/taskscommandscpinstead of the unhelpful clipboard shortcut hint/pluginsinstalled tab to unify plugins and MCPs with scope-based groupingC:\ProgramData\ClaudeCode\managed-settings.json- administrators should migrate toC:\Program Files\ClaudeCode\managed-settings.jsonv2.1.1Compare Source
v2.1.0Compare Source
~/.claude/skillsor.claude/skillsare now immediately available without restarting the sessioncontext: forkin skill frontmatteragentfield in skills to specify agent type for executionlanguagesetting to configure Claude's response language (e.g., language: "japanese")respectGitignoresupport insettings.jsonfor per-project control over @-mention file picker behaviorIS_DEMOenvironment variable to hide email and organization from the UI, useful for streaming or recording sessions-cor--resumeupdatedInputwhen returningaskpermission decision, enabling hooks to act as middleware while still requesting user consent*at any position in rules (e.g.,Bash(npm *),Bash(* install),Bash(git * main))list_changednotifications, allowing MCP servers to dynamically update their available tools, prompts, and resources without requiring reconnection/teleportand/remote-envslash commands for claude.ai subscribers, allowing them to resume and configure remote sessionsTask(AgentName)syntax in settings.json permissions or the--disallowedToolsCLI flag;and,to repeat f/F/t/T motions,yoperator for yank withyy/Y,p/Pfor paste, text objects (iw,aw,iW,aW,i",a",i',a',i(,a(,i[,a[,i{,a{),>>and<<for indent/dedent, andJto join lines/plancommand shortcut to enable plan mode directly from the prompt/appears anywhere in input, not just at the beginning--toolsflag support in interactive mode to restrict which built-in tools Claude can use during interactive sessionsCLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENSenvironment variable to override the default file read token limitonce: trueconfig for hooksallowed-toolsfield for cleaner skill declarations${CLAUDE_PLUGIN_ROOT}not being substituted in pluginallowed-toolsfrontmatter, which caused tools to incorrectly require approval$()command substitution failing with parse errorsgit -C /path lognow correctly matchesBash(git log:*)rules)claude /context) not being executed properly/contextto accurately reflect frontmatter-only loading--model haiku/hooksmenu selecting wrong hook type when scrolling to a different optionlsandcat) not being counted in collapsed read/search groups, causing groups to incorrectly show "Read 0 files"cat refactor.md | claude/skills/directories to be visible in the slash command menu by default (opt-out withuser-invocable: falsein frontmatter)/statsoutputv2.0.77Compare Source
v2.0.76Compare Source
v2.0.75Compare Source
v2.0.74Compare Source
/terminal-setupsupport for Kitty, Alacritty, Zed, and Warp terminals/themeto toggle syntax highlighting on/offallowed-toolsnot being applied to tools invoked by the skill/plugins discoverwhere list selection indicator showed while search box was focused/contextcommand visualization with grouped skills and agents by source, slash commands, and sorted token countv2.0.73Compare Source
[Image #N]links that open attached images in the default viewer--session-idcombined with--resumeor--continueand--fork-session/themecommand to open theme picker directlyv2.0.72Compare Source
/contextcommand not respecting custom system prompts in non-interactive mode.ignoreor.rgignorefilessst/opencode (ubi:sst/opencode)
v1.1.8Compare Source
Core
TUI
Desktop
Thank you to 4 community contributors:
cargofmt(#7383)v1.1.7Compare Source
Core
TUI
Desktop
Thank you to 15 community contributors:
v1.1.6Compare Source
Core
TUI
Desktop
Thank you to 11 community contributors:
v1.1.4Compare Source
Core
TUI
Desktop
Thank you to 21 community contributors:
skilltool (#7072)OPENCODE_CONFIG_DIRAGENTS.md into the system prompt (#7115)v1.1.3Compare Source
Core
TUI
Desktop
Thank you to 10 community contributors:
actions/checkout@v6(#6969)v1.1.2Compare Source
Core
TUI
Desktop
Thank you to 11 community contributors:
v1.1.1Compare Source
This is a major change that overhauls the permissions system in OpenCode.
Tools Merged into Permission
The
toolsconfiguration has been deprecated and merged into thepermissionfield. Previously, you could enable/disable tools like this:{ "tools": { "bash": true, "edit": false } }Now, this should be configured using
permission:{ "permission": { "bash": "allow", "edit": "deny" } }The old
toolsconfig is still supported for backwards compatibility and will be automatically migrated to the permission system.Granular Permissions with Object Syntax
Permissions now support granular control using an object syntax with pattern matching. When you specify a permission as an object, you can set different rules for different patterns:
{ "permission": { "bash": { "npm *": "allow", "git *": "allow", "rm *": "deny", "*": "ask" }, "edit": { "*.md": "allow", "*.ts": "ask", "*": "deny" } } }Each key in the object is a glob pattern that matches against the tool's input, and the value is the action to take:
"allow"- automatically approve"deny"- automatically reject"ask"- prompt the user for approvalYou can also set a blanket permission using a simple string:
{ "permission": { "bash": "allow", "edit": "ask" } }Or set all permissions at once:
{ "permission": "allow" }Breaking Changes for SDK Users
The permission events have changed significantly. The new
PermissionNextmodule (permission/next.ts) has a different event structure compared to the oldPermissionmodule (permission/index.ts):Old Event Structure (
Permission.Event):Updated:{ id, type, pattern, sessionID, messageID, callID, message, metadata, time }Replied:{ sessionID, permissionID, response }New Event Structure (
PermissionNext.Event):Asked:{ id, sessionID, permission, patterns, metadata, always, tool: { messageID, callID } }Replied:{ sessionID, requestID, reply }Key differences:
permission.updatedtopermission.askedtyperenamed topermissionpatternis nowpatterns(array of strings)messagefield removedresponserenamed toreplypermissionIDrenamed torequestIDalwaysfield contains patterns that would be approved for future requests if user selects "always"The reply values are the same:
"once","always", or"reject"Server Changes
POST /permission/:requestID/replyfor responding to permission requestsPOST /session/:sessionID/permissions/:permissionIDis now deprecatedGET /permissionnow returnsPermissionNext.Request[]instead ofPermission.Info[]server.corsconfig optionOther Changes
toolsfield is deprecated - usepermissioninsteadmaxStepsis deprecated - usestepsinsteadoptionsCore
TUI
Desktop
Configuration
📅 Schedule: Branch creation - "before 9am on monday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.