Masko Code

A living mascot that floats above your windows, reacts to Claude Code and Codex, and lets you handle everything without leaving your flow.

Release macOS 14+ Universal Binary License

Download Β· Website Β· Custom Mascots

--- ## Features | | Feature | Description | |---|---|---| | 🎭 | **Animated overlay** | A mascot that floats above all windows and reacts to Claude Code + Codex state β€” click or hover to interact | | πŸ” | **Permission handling** | Approve, deny, or defer tool use requests from a speech bubble β€” select with `⌘1-9`, permissions stack in a queue | | πŸ’¬ | **Question answering** | Answer Claude's questions directly from the overlay | | πŸ“‹ | **Plan review** | Review and approve plans without opening your terminal | | πŸ“Š | **Session tracking** | Monitor active sessions, subagents, and status at a glance | | πŸ”” | **Notification dashboard** | Priority levels, resolution tracking, color-coded activity feed | | πŸ–₯️ | **Find the right terminal** | Jump to the correct terminal tab β€” supports 13 terminals and IDEs including iTerm2, Ghostty, VS Code, Cursor, and more | | πŸ”€ | **Session switcher** | Double-tap `⌘` to switch between assistant sessions | | 😴 | **Snooze** | Right-click to hide the mascot for 15 min, 1 hour, or indefinitely | | ↔️ | **Resizable** | Drag to resize or pick a preset (S / M / L / XL) from the context menu | | πŸ”„ | **Auto-updates** | Built-in Sparkle updates β€” always on the latest version | ## How It Works ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” hook events β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Claude/Codex β”‚ ──────────────────▢ β”‚ Masko β”‚ β”‚ (terminal) β”‚ β”‚ (menu bar) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ streams events from hooks/logs, β”‚ updates mascot animation, β”‚ sessions, notifications β”‚ shows permission prompts, β”‚ β”‚ tracks sessions β–Ό β–Ό ~/.claude/settings.json local HTTP :49152 ``` 1. **Download the app** β€” Install the DMG. Lives in your menu bar, no dock clutter. 2. **Grant accessibility** β€” First launch installs Claude Code hooks automatically into `~/.claude/settings.json`. 3. **Pick a mascot** β€” Choose the default Masko or bring your own from [masko.ai](https://masko.ai). 4. **Start coding** β€” Open Claude Code or Codex (CLI/Desktop). Your mascot springs to life. ## Keyboard Shortcuts All shortcuts work globally β€” no need to focus the app. | Shortcut | Action | |---|---| | `⌘M` | Toggle dashboard (customizable in Settings) | | `⌘1-9` | Select Nth pending permission | | `⌘Enter` | Approve selected permission | | `⌘Esc` | Deny / dismiss permission | | `⌘L` | Collapse / defer topmost permission | | `Double-tap ⌘` | Open session switcher (2+ sessions) | | `↑ / ↓` | Navigate session switcher | | `Tab / Shift+Tab` | Cycle sessions | | `Enter` | Confirm session selection | | `Esc` | Close session switcher | The focus toggle shortcut can be rebound to any key combination in Settings. Right-click the mascot to open the **context menu** β€” snooze, resize, or close the overlay. ## Custom Mascots The default Masko fox is included. Want your own character? Create one on [masko.ai](https://masko.ai) with AI-generated animations for every state (idle, working, attention). Export and load it into the desktop app in one click. ## Supported Terminals & IDEs Masko works with terminals that run Claude Code or Codex. Terminal focus (`⌘M`) support varies by app: | Level | App | How | |---|---|---| | **Exact tab** | VS Code, VS Code Insiders, Cursor, Windsurf, Antigravity | IDE extension (auto-installed) | | **Exact tab** | iTerm2, Terminal.app | AppleScript TTY matching | | **App focus** | Ghostty, Kitty, WezTerm, Alacritty, Warp, Zed | Process activation | Click a session in the dashboard or click the mascot overlay to jump to the right terminal. ## Requirements - macOS 14.0+ (Sonoma) - Apple Silicon or Intel Mac - [Claude Code](https://docs.anthropic.com/en/docs/claude-code) and/or [Codex CLI](https://github.com/openai/codex) installed ## Install Download the latest `.dmg` from [**Releases**](https://github.com/RousselPaul/masko-code/releases/latest). ## Build from Source ```bash git clone https://github.com/RousselPaul/masko-code.git cd masko-code swift build swift run ``` ## Local Codex Smoke Test Boot Masko from source in one terminal: ```bash swift run masko-code ``` Run a live Codex mascot flow in another terminal: ```bash scripts/codex-mascot-smoke.sh --manual ``` Run the automated 3-step integration check instead: ```bash scripts/codex-mascot-smoke.sh --auto ``` The automated mode verifies that Masko ingests: - a Codex question turn as `AskUserQuestion` - an escalated approval turn with a persistent `prefix_rule` suggestion - the final completion marker without blank notifications or question-only completion events The automated mode drives Codex through its own PTY and verifies Masko ingestion. Use `--manual` if you want to inspect the overlay yourself while the prompts are live. ## Project Structure ``` Sources/ β”œβ”€β”€ App/ # App entry point & lifecycle β”œβ”€β”€ Models/ # Data models (sessions, events, hooks) β”œβ”€β”€ Services/ # HTTP server, hook installer, update checker β”œβ”€β”€ Stores/ # Observable state (sessions, notifications) β”œβ”€β”€ Views/ # SwiftUI views (overlay, permission prompt, dashboard) β”œβ”€β”€ Utilities/ # Helpers └── Resources/ # Assets, images, app icon scripts/ # DMG packaging scripts extensions/ β”œβ”€β”€ vscode/ # VS Code/Cursor click-to-focus extension └── jetbrains/ # JetBrains (PyCharm, IntelliJ, etc.) terminal focus plugin ``` ## Contributing See [CONTRIBUTING.md](CONTRIBUTING.md) for how to get involved. ## License [MIT License](LICENSE) β€” Copyright (c) 2026 Masko. --- > **Note:** This project has no cryptocurrency or token associated with it. Any coin using the Masko or Clippy name is not affiliated with us.