Releases: code-yeongyu/oh-my-opencode
v2.1.1
Bug Fixes and Improvements
This patch release includes several platform compatibility fixes and stability improvements:
- Windows Compatibility: Improved path handling and shell configuration for better Windows support.
- MCP Tools: Fixed agent configuration to correctly enable MCP tools using exclude patterns.
- Background Agent: Prevented recursive tool calls and added logic to wait for session todos completion.
- Documentation: Added Japanese README translation and updated language selector links.
- Session Recovery: Improved logic to detect empty content messages in error patterns.
- Terminal Security: Blocked
tmuxoutput capture commands to enhance security. - Token Management: Implemented fallback mechanism for auto-compact token limit recovery.
- WSL Support: Suppressed stderr output from Linux notification commands to fix WSL errors.
- be90045 fix: Improve Windows compatibility for paths and shell config
- a10ee64 fix(agents): Use exclude pattern for tools config to enable MCP tools
- 116a90d enhance(background-agent): Prevent recursive tool calls and wait for session todos before completion
- 060e58e Update AGENTS.md
- 780bb37 docs: Add Japanese README translation and update language selector links
- bf39c83 Fix: detect empty content messages in session-recovery error patterns
- 9b2048b feat(interactive-bash): block tmux output capture commands
- cea64e4 feat(#61): Implement fallback mechanism for auto-compact token limit recovery
- 151ebbf Suppress stderr output from Linux notification commands to fix WSL errors
v2.1.0
v2.1.0
This release focuses on making OmO smarter, more efficient, and more stable.
New Features
OmO is Now Much Smarter
- Clarified when to use explore vs librarian agents - no more over-calling
- OmO now treats explore agents as "contextual grep" and librarian as an online helper
- Frontend-UI-UX-Engineer is now called more actively for UI work
Librarian is Sonnet Again, with Clear Purpose
- Simplified prompt for pure, smart librarian behavior
- TYPE A (Conceptual) vs TYPE B (Implementation) classification
- PHASE 0-1 Structured Approach for smarter tool selection
- Web search only activated for recent resources; prefers GitHub for code snippets
Interactive Bash (tmux Support)
- New
interactive_bashtool for managing long-running processes - No more agent timeouts when running dev servers or REPLs
- Quote-aware command parsing for complex shell operations
- Automatically activates if tmux is installed on your system
Context Injection
- New
createEnvContext()automatically injects:- Current Date & Time (Timezone aware)
- Locale
- Platform details
- The agent now knows it's 3 AM on macOS when your build fails
Improvements & Fixes
Smarter Resource Management
- Recursion Prevention: Subagents and Oracle banned from calling
background_taskortasktools recursively - Lazy Exploration: OmO no longer calls Explore agent on every single request
- Background Mode: Automatically restores previous agent mode when background tasks complete
Bug Fixes
- English Enforcement: All subagents strictly instructed to prompt in English internally
- Todo Continuation: Fixed
remindedSessionsnot clearing properly - Session Recovery: Added filesystem fallback when API returns empty session parts
- Agent Mode Persistence: Fixed respect for previous message's agent mode in message sending hooks
Commits
- 689c568 enhance(agents): Add comprehensive guardrails, Oracle examples, and specialized playbooks to OmO prompt
- 906d304 Restore model to claude-opus-4-5 with thinking enabled, fix maxTokens to 64000 (correct max output for Opus 4.5 per Anthropic docs)
- 424723f refactor(agents): Complete rewrite of OmO system prompt with Task Complexity assessment
- 3ba5e1a Add date/time context to Librarian agent, emphasize NOT 2024
- e324f09 refactor(agents): Restructure Librarian prompt with clear request classification flow
- 9f636e1 fix(agents): enforce English prompting for all subagents (#58)
- 5ce025f feat(agents): prevent all subagents from accessing background_task tool
- 153fa84 Add tmux availability check for conditional interactive_bash tool registration
- 2d2834f feat(agents): prevent oracle from calling task tool to avoid recursive invocation
- ab37193 Clarify that today's date is NOT 2024 in envContext
- aa2f9a6 OmO to not to call Explore every single time, only when required
- e326e2d Interactive Bash Simpler
- f19a7a5 Specify agents
- 03a4501 refactor(hooks): improve interactive bash session tracking and command parsing
- c2e96f1 feat(hooks): restrict background_task for task tool subagents
- e8e10b9 fix(hooks): clear remindedSessions on assistant response to enable repeated continuation
- 5cbef25 feat(tools): add interactive_bash tool for tmux session management
- 2524c90 fix(hooks): add lowercase tool names to truncator hooks
- 50112b9 feat(agents): inject environment context into OmO system prompt
- 355fa35 fix(hooks): respect previous message's agent mode in message sending hooks
- 9aab980 fix(session-recovery): fallback to filesystem when API parts empty
v2.0.4
Summary
Bug Fixes:
- Fixed
unknownversion display in auto-update-checker and improved JSONC parsing - Fixed empty response errors in session-recovery by adding placeholder messages for thinking-only messages
New Hook:
- Added
non-interactive-envhook that sets non-interactive environment variables (CI, DEBIAN_FRONTEND, etc.) for bash commands
- 7fd52e2 refactor(non-interactive-env): use args.env instead of command prepending
- 08481c0 refactor(non-interactive-env): remove regex-based TUI blocking
- 192e8ad refactor(hooks): rename interactive-bash-blocker to non-interactive-env
- 5dd4d97 fix(auto-update-checker): resolve
unknownversion display and improve JSONC parsing (#54) - b1abb79 refactor(interactive-bash-blocker): replace regex blocking with environment configuration
- 8618d57 add missing schema components
- 4b6b725 feat(hooks): Add interactive-bash-blocker hook
- 1aaa6e6 fix(session-recovery): Add placeholder message for thinking-only messages
Thank you to 1 community contributor:
v2.0.3
Highlights
OmO is now the default agent - OmO (Claude Opus 4.5) and OmO-Plan have been promoted as primary agents, providing enhanced orchestration capabilities.
Bug Fixes
- Fixed session notification failures on WSL environments
- Agent names are now case-insensitive in config
Documentation
- Updated README with OmO documentation and build agent override info
- Corrected
disable_builddefault value documentation
- 7e4b633 feat(agents): add OmO and OmO-Plan as primary agents, demote build/plan
- f44555a feat(agents): make OmO default agent via build name hack
- cccc7b7 docs: fix incorrect default value for disable_build option
- 056b144 fix(session-notification): gracefully handle notify-send failures on WSL
- 7fef07d fix(config): normalize agent names to support case-insensitive config
- 62307d9 docs: document missing hooks and permission options in README
- 24f2ee0 docs: document OmO and build agent override capability in README
v2.0.2
v2.0.1
v2.0.0
Launching version 2.0.0. I worried whether I was bumping the version too quickly, but since this is the first version where oh-my-opencode becomes more more strongly "Opinionated," I believed it introduces sufficiently significant changes. However, you can still modify the settings to maintain the existing experience as is.
From this version onward, we aim to provide all of the following:
- The somehow magic-like superior performance of Factory Droids CLI
- The experience of AmpCode's excellent problem-solving ability and outstanding utilities (Oracle, Librarian, ...)
- The experience of Claude Code's rich features (asynchronous sub-agents, skills, etc.)
- The experience of OpenCode's excellent TUI
New Features
Default Agent OmO
Introducing the Default Agent 'OmO' (claude-opus-4-5-high). Huge thanks to @kevincojean for initiating the early discussions, and to @huynguyen03dev for providing ideas and contributing by experimenting directly.
- I like 'OmO' because the letters look somewhat cute. I think it was named really well.
- The OmO agent uses the claude-opus-4-5-thinking-32k model.
- Of course, you can change this as other agents.
- My preference is still to have the best main model, and for this smart main model to intelligently utilize sub-agents to perform the main task. I believe the best results come when the agent works just like you do.
We are hiding the default Build agent. The 'OmO' agent is now the default.
- Of course, this can be changed in the settings.
- Compared to the default Build agent, the following things are different:
- It ponders the user's intent more.
- It handles ToDo tools more diligently.
- It actively seeks help from necessary tools and external agents.
- It proceeds with parallel calls more aggressively.
- There have been multiple prompt optimizations and experiments, and I am confident it will provide a significantly better experience compared to using the Build agent.
There was a lot of deliberation. However, as I promised to introduce my experiments here, it will definitely be better. Please trust me.
Librarian is now opencode/big-pickle (glm-4.6)
Explore and Librarian provided by oh-my-opencode are now all free models provided via OpenCode Zen.
It delivers sufficient performance, and especially since Librarian used 'haiku' in early versions, if you were satisfied with that, you will be even more satisfied now.
With the introduction of the OmO agent and improvements to actively utilize parallel calls during searches, I am confident that its accuracy and the context it considers will also improve.
Enjoy your free searching.
Improvements regarding Version Awareness
- OhMyOpenCode {version} will now appear as a toast when starting up.
- The text inside is a cute oMoMoMoMo.
- You can also disable this, but it is not recommended due to the nature of the project having frequent version updates.
- Fixed the issue where all OpenCode caches were cleared during updates.
Known Issue
- the version might displayed as 'unknown'
v1.1.9
What's Changed
Features
- background-agent: Subagent 실행 시
call_omo_agent도구 접근 제한 추가. 백그라운드 에이전트가 재귀적으로 다른 백그라운드 작업을 트리거하는 무한 루프 방지
Refactor
- grep:
glob의존성 제거, Node.js 표준fs.readdirSync(recursive 옵션) 사용으로 대체. 번들 크기 감소 및 외부 의존성 최소화- 새
findFileRecursive()함수로 ripgrep 실행 파일 검색 구현 - 6개 테스트 케이스 추가 (루트/중첩/깊은 중첩 디렉토리, 미발견, 중복 파일, 정확한 파일명 매칭)
- 새
Commits
v1.1.8
What's New in v1.1.8
Features
- Ripgrep Auto-Download: Automatically downloads and installs ripgrep when not available (with glob dependency fix)
- Dynamic Output Truncation: Context-aware tool output truncation for Grep, Glob, LSP, and AST-Grep tools
- Keyword Detector: Multi-language keyword detection (ultrawork, search, analyze) with session-based injection
- Publish Command: New
/publishcommand for npm release workflow automation - Unpublished Changes Command: New
/get-unpublished-changescommand to list unreleased changes
Bug Fixes
- Fixed missing
globdependency for ripgrep auto-download feature - Fixed shell injection vulnerabilities in get-unpublished-changes command
- Fixed background_output to return result instead of status for completed tasks
- Fixed command-loader to preserve model field for opencode commands only
Improvements
- Restricted tool access in subagent execution to prevent recursive calls
- Renamed ultrawork-mode to keyword-detector with expanded multi-keyword support
- 030277b Add glob dependency for ripgrep auto-download feature
- 5e8e42f fix(command): improve /get-unpublished-changes output clarity
- a633c4d feat(command): add /publish command for npm release workflow
- 0c8a500 fix(command-loader): preserve model field for opencode commands only
- 2292a61 fix(command): fix get-unpublished-changes shell injection bugs
- d1a527c feat(background-agent): restrict tool access in subagent execution to prevent recursive calls
- 0fcfe21 refactor(hooks): rename ultrawork-mode to keyword-detector with multi-keyword support
- 25a5c2e feat(hooks): add tool-output-truncator for dynamic context-aware truncation
- 521bcd5 feat(shared): add dynamic-truncator utility for context-aware output truncation
- d3e3176 feat(grep): add ripgrep auto-download and installation
- 7938316 fix(background-task): return result instead of status for completed tasks
- 8a7469e Update acknowledgment for hero image creator
- dba0c46 docs: add GitHub profile link for @junhoyeo hero image credit