Belfry

Belfry 0.21.13

A cross-platform terminal that hosts CLI coding agents such as Codex and Claude Code.

  • By appmakes
  • Open Source
  • Updated Oct 10, 2026
Download for Windows

About Belfry

Belfry is a cross-platform terminal for macOS and Windows that hosts CLI coding agents such as Codex and Claude Code. It provides project workspaces, agent detection and status tracking, a prompt composer with queuing, provider switching, SSH sessions, and token usage statistics. Without an agent installed it still works as a full terminal.

Features
Project Workspace
- Open local directories as projects, with recent ones remembered
- Sidebar grouped by project, collapsible, resizable width (⌘B to collapse all)
- Sessions have built-in project affiliation; different sessions can point to different directories
- Quick Open (⌘K) to search and switch sessions, open recent projects, or execute common workspace actions
- File preview pane to browse current project directories and view read-only code previews; jump directly to file paths in terminal output with alerts on disk changes
Agent Hosting
- Auto-detect Codex and Claude Code: executable paths, version numbers, and reasons if unavailable
- Session status distinguishes process lifecycle (creating/running/exited/error) from current behavior (idle/streaming output/waiting for input)
- Tab titles extracted from your first prompt, with the full original text kept in tooltips
- Collaborative tasks queued separately per target Agent; deliveries paused while the Agent is busy or awaiting confirmation, sent sequentially once idle
Activity Notifications
- Only two things are worth interrupting you for: the Agent finished the job, or it's stuck on a question that strictly requires your approval
- Completion notifications are delayed by 1500 ms before sending. Activity is inferred by scanning screen text, and the sequence "Streaming Output → Idle → Waiting for Input" is very common (spinner vanishes first, permission prompt renders a beat later); sending a "Completed" notification prematurely in-between is a pure false positive
- No notifications when you are actively looking at that session—you can already see it
- Status in the title, identity in the body: first decide whether to deal with it now, and only then which session it is
- Unread count badges on the Dock / taskbar, automatically cleared when returning to the app
Provider Switching
- Switch Codex / Claude Code routing between official endpoints and third-party relays by modifying the CLIs' own configuration files, so running claude or codex directly outside Belfry works seamlessly
- Precise field modification: touches only routing keys like ANTHROPIC_BASE_URL and the [model_providers.belfry] table, leaving your hooks, MCP definitions, and project trust records verbatim
- On first launch, existing configuration settings are ingested into a switchable profile instead of being silently overwritten
- Backs up Codex's ChatGPT login state before switching to a third-party provider, and restores it intact when switching back to official
- Detects and warns about ANTHROPIC_* / OPENAI_* environment variables that would override config files
Terminal
- Built on xterm.js with WebGL renderer—no horizontal seams between block characters
- Unix PTY on macOS, ConPTY on Windows; shell auto-detects PowerShell, %ComSpec%, and cmd.exe in order
- SSH sessions directly invoke the system OpenSSH client: passwords, host fingerprints, and 2FA are handled natively in the terminal; ~/.ssh/config aliases, keys, and agent are inherited as-is
- Check "Remember Password" upon connection to save it to the system keychain (macOS Keychain / Windows Credential Manager) for automatic autofill on future connections; saved passwords can be cleared from the SSH form at any time
- OSC 10/11 color queries are answered directly on the Rust side. This is unavoidable: TUIs like Codex allow only a 100 ms window, and a full round trip of PTY → IPC → xterm.js → IPC → PTY often times out; on Windows, the consequence of a timeout isn't "no color" but "wrong color"—Codex falls back to reading ConPTY's black palette, rendering the input box as a solid black block
- Password prompt detection with suppressed echo
- ⌘F to search current terminal content with multi-line matching; clickable HTTP(S) links; CJK, combining characters, and emojis rendered with accurate widths
Usage Statistics
- Aggregates data by reading local Codex / Claude session logs directly, without making any network requests
- Normalized into four token categories: input (cache misses), cachedInput, cacheWrite, output
- Split across two dimensions: by model and by project; selectable time windows of Past 7 Days / Past 30 Days / All Time
- Rate limit windows and subscription tiers (currently only available in Codex logs, not in Claude's)
Appearance
- Light/Dark theme switching, with theme colors synchronized to the terminal palette
- App-wide font and 10–20px font size customization, supporting locally installed system fonts
- Import multiple TTF / OTF / WOFF / WOFF2 fonts with individual switching or removal, and switch back to system fonts at any time
- Bundled with JetBrains Mono and HarmonyOS Sans SC
Belfry shortcuts: ⌘T for New Shell, ⌘B to toggle sidebar, ⌘K to open Quick Open, ⌘U to toggle Usage, ⌘⇧H to toggle History, ⌘, to open Settings, ⌘1–9 to switch sessions, ⌘/ to open quick commands. Windows / Linux uniformly use Ctrl+Shift combinations to avoid conflicting with native Ctrl shortcuts in Codex and Claude.

What's new in 0.21.13

新增
- 增加显式 BELFRY_CODEX_NATIVE=1 原生启动隔离模式:Codex 新会话使用自身权限配置,跳过托管插件/Hook、协作附加项和项目 Provider 覆盖;恢复仅接受明确会话 ID。默认模式不变,Claude、Pi 和普通终端不受影响。此模式是可回退的诊断/缓解路径,不保证修复中转间歇性错误,详见 docs/codex-native-launch.md。
- 增加只读 PowerShell Codex 诊断脚本,仅输出白名单配置与最近会话元数据,不读取凭据文件或输出对话内容。
改进
- 统一主界面、设置及工具面板的布局与深浅主题,保留紧凑窗口下主要操作的可达性。
- 会话列表、分组、按钮、确认框、Quick Open 与协作/历史抽屉提供一致的交互反馈和开合过渡,并尊重系统“减少动态效果”设置。
- 新建会话菜单支持键盘导航和分级退出;重新检测提供忙碌状态、防连点与失败重试;重命名支持 F2 和 Enter/Esc 焦点返回,Quick Open 支持焦点循环及快速重开重置。
- 拖拽按帧合并坐标更新,避免无关终端随舞台更新重渲染;成功加载的可选面板重开时复用加载结果,保留失败恢复机制。
- Provider 凭据使用认证加密保存,随机主密钥交由系统安全存储;列表和普通编辑不返回密钥,替换/清除操作显式确认,查看原始敏感配置需用户授权。旧存储迁移及损坏数据采用失败关闭保护,外部 CLI 配置仍可能包含明文凭据。
修复
- 修复侧栏高度、底部工具区、菜单裁切及右侧面板切换的布局问题,开合动效不卸载已有终端或逐帧调整 PTY 尺寸。
- 设置内容填满侧栏之外的可用宽度,修复宽屏下固定最大宽度留下大片空白的问题,并覆盖宽屏及紧凑窗口的无横向溢出回归。
- 修复按住历史面板按钮再松开时协作抽屉提前关闭、造成面板轨道短暂清空及额外 PTY resize 的问题;外部点击与面板切换在同一 click 阶段完成。
- 正常退出默认保留后台任务;再次进入优先连接原 PTY,失效身份只在明确缺失时恢复一次,不重放旧输入或项目启动脚本。
- Windows Hook 改用轻量 CLI 入口,避免依赖桌面程序冷启动;保留旧入口兼容并提示重新安装 Hook,读取单个 JSON 输入后即处理,不等待管道关闭。
- 跨会话自动投递不抢焦点,Windows 粘贴后保留解析余量;取消、写入失败或断连时暂停队列并报告原因,未确认开工时不重复粘贴。
升级提示
- Windows 用户升级后请在设置中重新预览并启用 Hook,再重开 Agent 会话;Codex 的 Hook 信任仍需用户确认。
- 原后台进程已消失时只能续接可用的 Agent 历史或重建会话,不能恢复原进程内存。真实 Windows 桌面交互与凭据迁移仍需在独立测试数据下验证。

Full release notes »

Technical details

Publisherappmakes
AuthorChengSoon
Version0.21.13
Release date2026-10-10
LicenseLGPL-3.0-only
Installer typenullsoft, wix
Architecturex64
Package IDChengSoon.Belfry
Install scopeCurrent user

Install Belfry from the command line

Install with Windows Package Manager
winget install --id=ChengSoon.Belfry -e
Update to the latest version
winget upgrade --id=ChengSoon.Belfry -e
Uninstall
winget uninstall --id=ChengSoon.Belfry -e
Silent install with the offline installer
"Belfry_0.21.13_x64-setup.exe" /S

aicommand-lineconsoleterminal

Belfry version history

0.21.8 Sep 24, 2026

修复

  • 修复 Windows 上 Agent Hook(belfry-hook)首次冷启动因程序加载与杀毒实时扫描耗时超过原有 1 秒超时、被提前结束,导致钩子「已安装却连不上」、状态无法回传的问题;Windows 下超时放宽至 8 秒,macOS/Linux 保持不变。
0.19.0 Sep 5, 2026

修复

  • 亮色模式终端文字发虚:实测下来是四层原因叠加,只在亮色 + 背景图开启时同时发作。逐像素量到的对比度只有 4.11:1(低于 WCAG AA 的 4.5:1),而主题前景色本应有 14.29:1——说明发虚的那些文字走的是被刻意压浅的 ANSI 色号,不是前景色。这一版从三处一起治:
  • 亮色下启用 xterm 的对比度兜底(minimumContrastRatio),把对比度不够的 ANSI 色号往深处拉一档。此前这个开关是关着的(默认值即关闭)。暗色保持关闭,配色不受影响。
  • 亮色调色板里色号 37(常被程序用来输出正文)压深到 8.21:1。
  • 亮色下正文与粗体字重各提一档,补偿灰度抗锯齿在浅底上把笔画显细的那一档。顺带修掉一个既有问题:粗体原先设的 500 在只有 Regular/Bold 两档的等宽字体上会落回 400,也就是粗体和正文渲染得一模一样。
  • 背景图衬底浓度改为亮暗各记一份:亮色默认提到 80%,让文字底下接近纯色,消掉背景图案透上来的高频噪声;暗色保持 55% 不变。旧配置里的单一数值会继承给暗色,亮色取新默认值。
  • 协作面板里的任务短 ID 在亮色下几乎看不见(最弱的一档文字色上又叠了 50% 不透明度),而它是要逐字认出来复制的。

Frequently asked questions

Is Belfry free?

Yes. Belfry is free and open-source software released under the LGPL-3.0-only license.

What is the latest version of Belfry?

The latest version is 0.21.13, released on Oct 10, 2026.

Is it safe to download Belfry?

The download button links to the official installer published on github.com, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with aabbbb9a88a0b39799169f9bec7299a4b6da43ceb0932e1ae6a8e70a151ee3aa.

Which Windows versions does Belfry support?

Belfry runs on Windows and is available for 64-bit (x64) systems.

How do I install Belfry silently?

Run the offline installer with "Belfry_0.21.13_x64-setup.exe" /S, or install it with Windows Package Manager: winget install --id=ChengSoon.Belfry -e --silent.

How do I uninstall Belfry?

Open Settings › Apps › Installed apps, find Belfry and select Uninstall. From the command line, run winget uninstall --id=ChengSoon.Belfry -e.