Skip to content

Releases: code-yeongyu/oh-my-opencode

v2.1.3

16 Dec 06:44

Choose a tag to compare

v2.1.3 Release Notes

🆕 New Features

Empty Message Sanitizer Hook

  • Prevents API errors caused by empty chat messages
  • Automatically sanitizes malformed message content before sending

Background Task Cancel All

  • New all parameter in background_cancel tool
  • Cancel all running background tasks at once for clean workflow completion

Tool Output Truncation Recovery

  • Enhanced token limit handling with automatic truncation recovery layer
  • Integrates with OpenCode's official compaction mechanism

🐛 Bug Fixes

Google Antigravity Authentication

  • Fixed FREE tier authentication with random project ID fallback
  • Implemented proper FREE tier onboarding via onboardUser API
  • Handle multiple FREE tier ID formats correctly
  • Google auth now enabled by default

Hook & Session Stability

  • hook-message-injector: Added validation to prevent empty message injection
  • session-recovery: Fixed empty text parts replacement before injection
  • lsp: Cleanup orphan LSP servers on process exit

🔧 Improvements

  • explore agent: Simplified prompt for clarity and efficiency
  • OmO agent: Balanced proactivity with user confirmation in prompt

  • 9d48a72 Update README
  • d93f2aa fix(hook-message-injector): add validation to prevent empty message injection and improve logging
  • e779ae7 fix(google-auth): enable google antigravity auth by default (#66)
  • 8226357 docs: fix outdated librarian model and add empty-message-sanitizer hook documentation
  • efeeac8 feat(hooks): add empty-message-sanitizer to prevent API errors from empty chat messages
  • 0317102 Merge branch 'fix-empty-message-content'
  • ac9ec62 fix(antigravity): handle multiple FREE tier ID formats in onboarding
  • 1d91065 fix(antigravity): implement FREE tier onboarding via onboardUser API
  • d8c74ef feat(background-task): add all parameter to cancel all running tasks at once
  • a529480 fix(antigravity): fix auth on free plan with random project ID fallback
  • 1f62873 fix(anthropic-auto-compact): use OpenCode's official compaction mechanism and proper retry
  • e433f9c refactor(agents): simplify explore agent prompt for clarity and efficiency
  • a22a800 fix(session-recovery): Replace empty text parts before injecting new ones
  • e967589 fix(lsp): cleanup orphan LSP servers on process exit
  • d8ef683 refactor(omo): balance proactivity with user confirmation in prompt
  • cc6ec1c feat(anthropic-auto-compact): Add tool output truncation recovery layer for token limit handling (#63)

v2.1.2

15 Dec 23:58

Choose a tag to compare

Bug Fixes

fix(session-notification): Replace blocking MessageBox with native toast on Windows

  • Windows UX 대폭 개선: System.Windows.Forms.MessageBox (blocking modal) → Windows.UI.Notifications.ToastNotificationManager (non-blocking toast)
  • 플랫폼별 올바른 이스케이핑 적용: 각 플랫폼 셸 특성에 맞게 수정
    • macOS: AppleScript용 백슬래시 처리 (\\\\\\, "\")
    • Linux: raw 값 처리 (셸이 자동 처리)
    • Windows: PowerShell용 작은따옴표 이스케이핑 (''')
  • 에러 핸들링 추가: Windows에서 graceful degradation 지원 (older Windows versions)
  • 코드 구조 개선: 플랫폼별 이스케이핑 로직을 각 case 블록으로 분리하여 가독성 향상

Technical Details:

  • 사용자 입력 없음: config-driven values만 사용하여 보안 위험 감소
  • PowerShell 단일 따옴표 문자열 내 안전한 값 삽입
  • 타입 에러 없음: LSP diagnostics clean

Fixes: #62


  • da63b09 fix(session-notification): Replace blocking MessageBox with native toast on Windows (#62)

Thank you to our community contributor:

  • @junhoyeo: fix(session-notification): Replace blocking MessageBox with native toast on Windows (#62)
  • da63b09 fix(session-notification): Replace blocking MessageBox with native toast on Windows (#62)

Thank you to our community contributor:

  • @junhoyeo: fix(session-notification): Replace blocking MessageBox with native toast on Windows (#62)

v2.1.1

15 Dec 16:22

Choose a tag to compare

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 tmux output 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

15 Dec 10:15

Choose a tag to compare

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_bash tool 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_task or task tools 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 remindedSessions not 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

15 Dec 00:06

Choose a tag to compare

Summary

Bug Fixes:

  • Fixed unknown version 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-env hook 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 unknown version 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:

  • @junhoyeo:
    • fix(auto-update-checker): resolve unknown version display and improve JSONC parsing (#54)

v2.0.3

14 Dec 13:22

Choose a tag to compare

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_build default 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

14 Dec 10:26

Choose a tag to compare

  • 0c23706 feat: add OmO agent to config schema for model override support (#46)
  • 5827989 docs: update README and schema for v2.0.0 changes

Thank you to 1 community contributor:

v2.0.1

14 Dec 09:39

Choose a tag to compare

  • f1b9a38 fix(auto-update-checker): resolve version detection failing with JSONC configs

v2.0.0

14 Dec 08:50

Choose a tag to compare

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

14 Dec 05:05

Choose a tag to compare

What's Changed

Features

  • background-agent: Subagent 실행 시 call_omo_agent 도구 접근 제한 추가. 백그라운드 에이전트가 재귀적으로 다른 백그라운드 작업을 트리거하는 무한 루프 방지

Refactor

  • grep: glob 의존성 제거, Node.js 표준 fs.readdirSync (recursive 옵션) 사용으로 대체. 번들 크기 감소 및 외부 의존성 최소화
    • findFileRecursive() 함수로 ripgrep 실행 파일 검색 구현
    • 6개 테스트 케이스 추가 (루트/중첩/깊은 중첩 디렉토리, 미발견, 중복 파일, 정확한 파일명 매칭)

Commits

  • 2806c64 refactor(grep): replace glob dependency with fs.readdirSync
  • ed76c50 feat(background-agent): restrict tool access in subagent execution to prevent recursive calls