Skip to content

Latest commit

 

History

467 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notchi

A macOS notch companion that reacts to Claude Code and Codex activity in real-time.

Download for macOS

notchi-demo.mp4

What it does

  • Reacts to Claude Code and Codex events in real-time (thinking, working, permission requests, compaction, errors, completions)
  • Analyzes prompt sentiment via Anthropic or OpenAI APIs to show emotions (happy, elated, sad, neutral, sob)
  • Click to expand and see session time and usage quota
  • Tracks daily cost and token usage over the last 30 days, per provider or combined
  • Supports multiple concurrent sessions, each with its own mascot from the Claude or Codex sprite family
  • Sound effects for events with support for importable custom sounds (optional, auto-muted when terminal is focused)
  • Available in English, 日本語, 简体中文 / 繁體中文, 한국어, and Tiếng Việt (follows your system language)
  • Auto-updates via Sparkle

Requirements

Install

  1. Download the latest DMG (all versions are on the releases page)

  2. Open the DMG and drag Notchi to Applications

  3. Launch Notchi, it auto-installs Claude Code and Codex hooks on first launch (whichever are present)

  4. If a macOS keychain popup appears asking for access (used for API usage stats), click Always Allow so it won't prompt again

    Keychain access popup
  5. (Optional) Click the notch to expand → open Settings → paste your Anthropic or OpenAI API key. This enables sentiment analysis of your prompts so the mascot reacts emotionally

    Emotion analysis settings
  6. Start using Claude Code or Codex and watch Notchi react

  7. Track usage by clicking on the usage bar

    Usage dashboard with cost chart and quota bars

How it works

Claude Code / Codex --> Hooks (shell scripts) --> Unix Socket --> Event Parser --> State Machine --> Animated Sprites

Notchi registers shell script hooks with Claude Code and Codex on launch. When either agent emits events (tool use, thinking, prompts, permission requests, compaction, session start/end), the hook script sends JSON payloads to a Unix socket. The app parses these events, runs them through a state machine that maps to sprite animations (idle, working, sleeping, compacting, waiting), and uses Anthropic or OpenAI to analyze user prompt sentiment for emotional reactions.

Each session gets its own sprite on the grass island, drawn from the Claude or Codex sprite family depending on which agent it came from. Clicking expands the notch panel to show a live activity feed, session info, and Claude/Codex usage stats.

Contributing

If you have any bugs, ideas, or would like to contribute through pull requests, please check out Contributing to Notchi.

Support

Notchi is free and open source. If it's useful to you, you can sponsor development, which helps cover the Apple Developer account that keeps builds signed and notarized.

Community Ports

Credits

License

GPL-3.0-only. See LICENSE.

About

notch app for claude code & codex

Topics

Resources

Contributing

Stars

1.0k stars

Watchers

5 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages