Skip to content

v1.1.26: Batch Tool Expansion, New Patch Tool

Release Date: January 19, 2026


One-Line Summary

Batch tool limit increased from 10 to 25, added apply_patch tool supporting OpenAI models, desktop interface fully upgraded.


New Feature: Batch Tool Expansion

What's Updated?

Maximum concurrent calls for batch operation tool increased from 10 to 25.

What Is the Batch Tool?

Batch tool allows OpenCode to call multiple tools in one request, such as reading multiple files or executing multiple operations simultaneously, greatly improving efficiency.

What Are the Benefits of This Update?

Previously could only call up to 10 tools at once, now can call 25 at once, faster and smoother when handling large-scale file operations.


New Feature: OpenAI Model Supports Patch Tool

What's Updated?

Added apply_patch tool for OpenAI models, enabling more efficient code patch application.

How to Use?

This feature is enabled by default, when using OpenAI models, OpenCode intelligently decides whether to use patch tool to modify code, no manual configuration needed.


New Feature: Command Execute Before Hook

What's Updated?

Added command execute before hook, allowing custom scripts to run before executing commands.

How to Use?

Set in configuration file:

json
{
  "beforeExecute": "your-command-here"
}

This hook runs automatically before each command execution, suitable for automated workflows.


New Feature: Vim-Style Scrolling

What's Updated?

Added Vim-style line-by-line scrolling shortcuts in TUI.

How to Use?

Now you can use Vim shortcuts for line-by-line scrolling:

  • Ctrl+E: Scroll down one line
  • Ctrl+Y: Scroll up one line

Improvement: Desktop Interface Fully Upgraded

What's Updated?

Desktop interface has undergone extensive optimizations and improvements:

  • ✅ Smoother session layout
  • ✅ More elegant search box and command palette
  • ✅ Better project edit dialog
  • ✅ Smarter session management
  • ✅ Added session unshare feature

Session Unshare

Now you can unshare shared sessions in desktop app:

  1. Open shared session
  2. Click share button
  3. Select unshare

Improvement: TUI Interaction Upgrade

What's Updated?

  • ✅ Can use mouse to operate permission buttons in TUI
  • ✅ Fix Windows platform copy text issue
  • ✅ Improve keyboard and mouse input mode switching
  • ✅ Support Home/End keys navigation in menu list

Bug Fixes: Multiple Bug Fixes

Fixed Issues

  • Fixed Grok model variant error
  • Fixed Java language server download issue on Windows
  • Fixed mDNS hostname discovery
  • Fixed environment variable being replaced in configuration
  • Fixed Cargo workspace formatting issue

Should You Upgrade?

SituationRecommendation
Need batch operations✅ Strongly recommended, Batch tool expanded 2.5x
Using OpenAI models✅ Recommended, new patch tool support
TUI user✅ Recommended, interaction experience upgrade
Desktop app user✅ Recommended, interface fully upgraded
Stable version fan✅ Recommended, fixed multiple bugs

Upgrade Command:

bash
opencode upgrade

Technical Details (Skippable)

Click to expand full changelog

Core

  • Increase Batch tool max limit from 10 to 25
  • Remove favicon from app
  • Apply patch description
  • Only format edited files in Cargo workspace, not entire workspace
  • Rename uv formatter from 'uv format' to 'uv' for config consistency
  • Initial end-to-end test setup for app
  • Reset workspace to clean state
  • Delete workspace feature
  • Fine-tune apply_patch tool description
  • Omit todo tool for OpenAI models
  • Add proper variant support for copilot
  • Track reasoning via output_index for Copilot compatibility
  • Automatically route GPT-5+ models to Responses API in GitHub Copilot integration
  • Use streamObject when generating agent using OpenAI OAuth
  • Fix wrong variant for Grok model
  • Note untracked files in review documentation
  • Process .fbs files as text instead of image
  • Update GitLab AI provider to version 1.3.2
  • Add command execute before hook
  • Thoroughly improve Nix flake and package
  • Preserve file attachment metadata during session replay
  • Update Scoop installation method
  • Fix import issue in patch module
  • Restore persisted model and agent when loading ACP session
  • Use single global event subscription in ACP and route by session ID
  • Increase question title and label limits
  • Add apply_patch tool for OpenAI models
  • Fix Java language server download on Windows
  • Add vim-style line-by-line scroll keybindings
  • Prevent environment variables in config from being replaced with actual values
  • Fix mDNS hostname discovery
  • Restore MCP server OAuth redirect URI configuration
  • Fix GPT ID handling in API response
  • Add OAuth polling safety margin in Copilot device auth

TUI

  • Clarify resume session prompt in TUI
  • Set input mode based on whether mouse or keyboard is used to prevent unnecessary mouse events
  • Don't unnecessarily wrap and introduce unnecessary blank lines
  • Add mouse support for permission buttons in TUI
  • Fix Windows evaluating text when copying
  • Uninstall OpenCode installed via Windows package manager
  • Unify command registry and derive slash commands from command definitions
  • Hide variant prompt when list is empty
  • Fix model state persistence when model store not ready
  • Centralize OSC 52 clipboard support for SSH sessions
  • Preserve main model after subagent runs
  • Make home/end keys work in menu list modal windows

Desktop

  • Fix favicon in app
  • Change keybinding for cycling thinking investment in app
  • Fix global terminal and review panel toggle functionality
  • Fix hash-based navigation in app
  • Provide feedback when attempting to paste unsupported file types
  • Rename favicon to v2 for cache busting
  • Reload instance after workspace reset
  • Scope terminal sessions to workspace
  • Add hover overlay to project icon in edit dialog with upload and trash icons
  • Tighten edit project color spacing
  • Limit edit project dialog width
  • Fine-tune edit project icon container style
  • Adjust edit project icon help text
  • Update edit project dialog padding and avatar style for consistency
  • New layout improvements for app
  • New session layout
  • Improved session layout
  • Hide settings button in app
  • Add more end-to-end tests for app
  • Add end-to-end test utilities for app
  • Fine-tune share button to prevent desktop layout shift
  • Apply getComputedStyle polyfill on all platforms in desktop app
  • Improve layout and style of desktop session search button
  • Remove redundant toast for thinking investment change
  • Add session unshare button to desktop app
  • Remove max width constraint on session name tooltip
  • Adjust project path tooltip placement
  • Remove max width from sidebar new button
  • Adjust session list tooltip triggers and delay
  • Preserve project avatar hover style when popover is open
  • Adjust recent sessions popover padding
  • Reduce prompt dock bottom spacing
  • Show project name in avatar hover
  • Remove loading text after splash screen
  • Fix command palette file list item spacing
  • Shrink project notification dot and apply mask
  • Update desktop init launch flags
  • Align project avatar notification dot
  • Don't try to open command palette if dialog is already open
  • Add Windows-only protection for window.getComputedStyle fallback to document.documentElement
  • Fix flaky session archiving behavior
  • Prevent text clipping on search button underline
  • Remove secondary text from commands
  • Limit search modal max height to 480px
  • Optimize search modal styles and list component
  • Reduce search modal command item left padding
  • Add hideIcon and class options to List search and customize search modal input style
  • Adjust search modal command item left padding
  • Add left padding to search modal command items
  • Increase keybinding border radius in search modal
  • Display arrow keys as symbols in keybinding format
  • Use Keybind component in search modal list
  • Use Keybind component in titlebar search button
  • Fix recent sessions spacing

Extensions

  • Add use_github_token to example

Thanks to 39 community contributors


← Back to Changelog