{"id":48755292,"url":"https://github.com/ababol/bnot","last_synced_at":"2026-04-20T13:14:02.939Z","repository":{"id":350868016,"uuid":"1202799017","full_name":"ababol/bnot","owner":"ababol","description":"Claude Code, live in your notch. Every session, every worktree. One glance, one keystroke away.","archived":false,"fork":false,"pushed_at":"2026-04-20T11:33:34.000Z","size":1089,"stargazers_count":6,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-20T11:40:04.116Z","etag":null,"topics":["claude","claude-code","claudecode","notch-app","open-island","vibe-coding","vibe-island","vibeisland"],"latest_commit_sha":null,"homepage":"https://bnot.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ababol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-06T12:13:40.000Z","updated_at":"2026-04-20T11:33:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ababol/bnot","commit_stats":null,"previous_names":["ababol/bnot"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/ababol/bnot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ababol%2Fbnot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ababol%2Fbnot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ababol%2Fbnot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ababol%2Fbnot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ababol","download_url":"https://codeload.github.com/ababol/bnot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ababol%2Fbnot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32048556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude","claude-code","claudecode","notch-app","open-island","vibe-coding","vibe-island","vibeisland"],"created_at":"2026-04-13T01:26:05.144Z","updated_at":"2026-04-20T13:14:02.927Z","avatar_url":"https://github.com/ababol.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"apps/desktop/icons/128x128@2x.png\" width=\"96\" alt=\"Bnot\" /\u003e\n\n# Bnot\n\n### Claude Code, live in your notch.\n\n**Every session, every worktree — one glance, one keystroke away.**\n\n[**bnot.app**](https://www.bnot.app/) · [Chrome extension](https://chromewebstore.google.com/detail/bnot-open-in-worktree/adnnijpecjdlmkkbhajlgigikfdihhpl)\n\n\u003cbr /\u003e\n\n\u003cimg src=\"docs/images/notch.png\" width=\"720\" alt=\"Bnot notch panel\" /\u003e\n\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\nBnot turns your MacBook's notch into mission control for Claude Code. Every running session, every worktree you've ever spun up, every pending approval — all alive in a panel that lives where your eyes already are. No more hunting through terminal tabs to find the agent waiting on you. No more re-typing `git worktree add` to remember where that half-finished refactor went. No more guessing how close you are to blowing the context window.\n\nOne glance — you know. One keystroke — you're back in the code.\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"docs/images/overview-panel.png\" width=\"620\" alt=\"Bnot overview panel\" /\u003e\n\n\u003csub\u003eSessions, worktrees, and approvals — one keystroke away.\u003c/sub\u003e\n\n\u003c/div\u003e\n\n## Features\n\n- **Live session radar** — auto-detects every running Claude Code session via process scanning and hook integration. Zero setup.\n- **Worktrees, always at your fingertips** — a dedicated tab lists every worktree you've spun up, ranked by the one you touched most recently. Live sessions get an **Active** badge. Dormant ones are one keystroke away from a fresh terminal.\n- **Keyboard-first panel** — `←/→` flip between Sessions and Worktrees, `↑/↓` pick a row, `Enter` opens it, `Esc` collapses. No mouse required.\n- **One-keystroke jump or spawn** — hit `Enter` on a live worktree, Bnot jumps straight to its terminal tab. Hit `Enter` on a dormant one, Bnot spawns `claude` there for you.\n- **Exact context window readout** — token counts pulled from the source of truth, not estimated. Auto-compact window respected. You'll see the wall before you hit it.\n- **Approve from the notch** — Claude's permission requests show up with diff previews. Approve, deny, or allow-always without leaving the notch.\n- **Plan-mode aware** — sessions in plan mode show an animated `PLAN` badge, so you know when Claude is drafting vs. executing.\n- **Answer questions instantly** — `AskUserQuestion` prompts render inline, with multi-select checkboxes and step-by-step flows for multi-question asks. No context switch.\n- **Worktree-first PRs** — the optional [Chrome extension](https://chromewebstore.google.com/detail/bnot-open-in-worktree/adnnijpecjdlmkkbhajlgigikfdihhpl) adds an \"Open in worktree\" button on GitHub PR pages that spins up a git worktree and opens it in your terminal.\n- **A bnot per session** — deterministic pixel-art character (color, hat, ears) hashed from your repo + branch, with its color auto-synced to the Claude Code tab via `/color`. The notch and your terminal match at a glance.\n- **Usage \u0026 health at a glance** — settings menu surfaces your Claude 5h/7d quota with reset time, hook health with one-click repair, and a check-for-updates button.\n- **Knows when to rest** — idle detection puts the bnot to sleep with a gentle Zzz animation when nothing's running.\n\n## Built for Claude Code\n\n\u003e Bnot is optimized for [Claude Code](https://claude.com/claude-code) running in [Ghostty](https://ghostty.org/). iTerm and Warp work, with reduced fidelity for tab/pane jumping.\n\n## Install\n\n### Download the DMG\n\n1. Download the latest `.dmg` from the [Releases page](https://github.com/ababol/bnot/releases/latest).\n2. Open it and drag `Bnot.app` to `/Applications`.\n3. Launch Bnot.\n\nBnot auto-updates in the background — new releases install on next launch, or you can trigger a check from the settings menu.\n\n### Build from source\n\n```bash\npnpm install\npnpm build\n```\n\nProduces a `.app` bundle in `apps/desktop/target/release/bundle/`.\n\n### Accessibility permission\n\nCGEvent keyboard injection (for terminal tab jumping) requires macOS Accessibility permission. The OS will prompt on first use.\n\n## Development\n\n```bash\npnpm install\npnpm dev\n```\n\nRequires macOS 14+, [Rust](https://rustup.rs/), Node.js 22+, and pnpm (`npm install -g pnpm`).\n\nTauri v2 (Rust) + React 19 + Tailwind v4 on the front, a Node.js sidecar and a small Rust CLI bridge on the back. Architecture details, IPC protocol, and internals are in [CLAUDE.md](CLAUDE.md).\n\n## Inspiration\n\nBnot is inspired by [vibeisland.app](https://vibeisland.app/) — go check it out.\n\n## License\n\n[Source Available](LICENSE.md) — free to use, modify, and share. Cannot be resold or offered as a competing commercial product.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fababol%2Fbnot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fababol%2Fbnot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fababol%2Fbnot/lists"}