Belfry appmakes
winget install --id=ChengSoon.Belfry -e 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.