A native macOS terminal workspace for AI coding tools.
English | 简体中文
In the age of AI-assisted development, your IDE is no longer the center of your workflow — the terminal is.
Tools like Claude Code, GitHub Copilot CLI, Cursor, and Aider are turning the terminal into your primary development environment. But traditional terminals weren't designed for this:
- Tab and split management is painful — juggling multiple sessions across projects is slow and clunky
- No project awareness — no way to organize, switch, or get notifications per project
- Git needs a separate app — you're constantly switching between terminal, GitKraken, or Tower
- AI usage is a black box — you have no idea how many tokens you've burned today or which model is draining your quota
- Electron-based alternatives are resource hogs — they eat RAM and battery for what should be a lightweight tool
Codux fixes all of this. A native macOS terminal workspace purpose-built for AI CLI tools — multi-project, multi-pane, with built-in Git and real-time AI usage tracking. No Electron. No WebKit. Just pure SwiftUI + AppKit, fast and light.
Crafted with attention to every pixel. Glass vibrancy backgrounds, smooth animations, carefully balanced typography, and a clean visual hierarchy that stays out of your way. Light and dark mode are fully polished — not an afterthought. Customizable terminal themes, app icons, and keyboard shortcuts let you make it yours.
100% SwiftUI + AppKit. No Electron, no WebKit, no hidden browser eating your RAM. Launches instantly, idles at near-zero CPU, and respects your battery. This is what a macOS app should feel like.
brew install --cask duxweb/tap/coduxbrew update
brew upgrade --cask codux- Download the latest release from GitHub Releases or codux.dux.cn
- Drag Codux to your Applications folder
- Open Codux, click New Project, and pick a directory
- Start typing — you're ready to go
"Cannot be opened because the developer cannot be verified"
Since Codux is not yet notarized by Apple, macOS may block the first launch. To fix this:
sudo xattr -rd com.apple.quarantine /Applications/Codux.appOr go to System Settings > Privacy & Security, scroll down and click Open Anyway next to the Codux warning.
| Action | Shortcut |
|---|---|
| New Split | ⌘T |
| New Tab | ⌘D |
| Toggle Git Panel | ⌘G |
| Toggle AI Panel | ⌘Y |
| Switch Project | ⌘1 - ⌘9 |
All shortcuts can be customized in Settings > Shortcuts.
The pet system is a lightweight companion layer built into Codux. It turns your everyday AI coding activity into a long-term progression loop: hatch an egg, grow a companion, unlock evolutions, fill the dex, and eventually inherit your fully grown pet into history.
| Species | Base Stages | Route A | Route B |
|---|---|---|---|
VoidCat |
Huahua → Shadow Cat → Voidcat |
Tomecat → Inkspirit |
Shadecat → Nightspirit |
RustHound |
Furball → Flop-Eared Pup → Rusthound |
Blazehound → Sunflare |
Ironwolf → Bloodmoon |
Goose |
Chirpy → Dozy → Goosey |
Dawnwing → Wildfire |
Windwing → Tempest |
- Open Codux and look at the title bar pet button.
- If you have not claimed a pet yet, click the pet button to open the egg claim dialog.
- Choose one egg, optionally enter a custom name, then confirm the claim.
- After claiming, the pet starts growing with your AI coding activity.
Title bar: open the current pet popover, view hatching / level / traits, and access the dexPet Dex: view unlocked stages, current pet details, and inheritance historySettings > Pet: configure pet enable state, static sprite mode, hydration reminders, sedentary reminders, and late-night reminders
- The pet is not a separate app window by default; the main entry is the title bar pet button.
- Clicking the title bar pet button opens:
- egg selection if no pet has been claimed
- the pet popover if a pet is active
- The dex is opened from the pet popover.
Hidden Pet Unlock
- One egg option is a random egg.
- The random egg has a chance to hatch a hidden species.
- The base chance is
15%. - If you have actively used
2or more AI tools in the last7days, the chance increases directly to50%.
Wisdom: longer, deeper requests and sustained high-context workChaos: fast, frequent, short-cycle interactionNight: late-night usage patternsStamina: long-running sessions and sustained active timeEmpathy: iterative back-and-forth debugging and repair-style work
In Settings > Pet, you can configure:
- hydration reminder interval
- sedentary reminder interval
- late-night reminder interval
- pet enable / disable
- static pet sprite mode
- macOS 14.0 (Sonoma) or later
Found a bug or have a feature request? Open an issue on GitHub.
When reporting a bug, please include the following diagnostics whenever possible:
The easiest way is:
- Open
Help -> Export Diagnostics… - Save the generated
.zip - Attach that archive to your GitHub issue
The diagnostics archive includes the most important files for troubleshooting, including:
- app runtime logs
- previous rotated logs
- performance event summary from the current app session
- saved app state files
- invalid state backups when available
- related crash / hang / spin reports from macOS when available
If you need to collect logs manually, Codux writes runtime logs to:
~/Library/Application Support/dmux/logs/dmux-debug.log~/Library/Application Support/dmux/logs/dmux-debug.previous.log~/Library/Application Support/dmux/logs/performance-summary.json
Notes:
- Codux clears the previous app session logs on each launch, then starts a fresh runtime log for the current session
dmux-debug.previous.logonly appears if the current session log grows large enough to rotateperformance-summary.jsoncontains recent performance spike / main-thread stall summaries for the current session
You can also open the current log file from the app via the top bar action: Debug Log.
Or run this command in Terminal to open the log folder directly:
open ~/Library/Application\ Support/dmux/logsIf the app is frozen or unresponsive, still export diagnostics first from:
Help -> Export Diagnostics…
If the app crashes or becomes unresponsive right after launch, macOS may generate a crash report here:
~/Library/Logs/DiagnosticReports/
In most cases, the file you need will be named like one of these:
dmux-YYYY-MM-DD-*.ipsdmux-bin-YYYY-MM-DD-*.ips
If there are multiple files, please attach the one whose timestamp is closest to the time of the crash.
To open the crash report folder directly, run:
open ~/Library/Logs/DiagnosticReportsPlease attach or paste:
- Your macOS version and Codux version
- Steps to reproduce the issue
dmux-debug.logdmux-debug.previous.logif it existsperformance-summary.jsonif it exists- The matching crash report from
~/Library/Logs/DiagnosticReports/if the app crashed
If convenient, compress the relevant files into a single .zip before submitting the issue.
Wanted to be dmux, but that name was taken. So it's Codux now, which sounds like "Cool Dux" in Chinese.




