mrkeyoor.com_
Thu 01 Oct 10:59 UTC
Open Source6 min read

Coucou Adds 1,076 Stars in Three Days for Claude Code Approvals

Coucou puts Claude Code status and permission prompts at the edge of the screen. Its fast start also exposes the rough edges of agent desktop tooling.

Coucou had collected 1,076 GitHub stars by MrKeyoor's September 30 scan, less than three days after its repository was created. The draw is unusually specific: this small desktop app moves Claude Code's progress and permission prompts out of the terminal and into a MacBook notch or the top edge of a Windows screen. For developers juggling an agent with other work, the useful part is what happens when the agent interrupts.

The repository describes a character called Mochi that stays hidden while nothing is happening, appears when Claude Code is working, and opens when a decision needs attention. It can display the files or commands an agent is touching, report when a run finishes, and put Allow and Deny controls beside a permission request. The project also includes a small Claude chat and file drop. Optional connections reach services such as GitHub, Vercel, and n8n.

That feature list can make Coucou sound like another AI desktop wrapper. Its more interesting contribution is narrower. Agentic coding creates long stretches when a developer should leave the terminal alone, interrupted by brief moments when the agent cannot continue safely without a human choice. Coucou turns those moments into an ambient desktop state instead of asking the developer to keep checking a terminal tab.

The notch is a permission surface

Coucou does not inspect Claude Code through an undocumented workaround. It installs user-level hooks in ~/.claude/settings.json, after showing a diff and making a backup, according to the project's setup notes. Claude Code sends structured events when a session begins, before and after tool calls, when a run stops, and when it asks for permission. Coucou's helper relays those events to the desktop app.

On macOS, the relay talks to the app over a Unix domain socket. Ordinary status events receive an immediate response. A permission event is different: the app holds the connection open while the developer reads the command and chooses Allow or Deny. The source sets a 120-second wait for that choice. If the app is absent, the helper exits and Claude Code falls back to its normal prompt instead of leaving the session stuck.

This behavior rests on Claude Code's documented PermissionRequest event. Anthropic's hook reference says a hook can allow or deny a request on the user's behalf, while existing deny and ask rules still apply. Coucou therefore moves an existing decision to another surface without bypassing Claude Code's permission system.

The Mac app is written in Swift 6 with SwiftUI and AppKit. Its borderless NSPanel hugs the notch, while a small state machine moves among hidden, compact, and open views. Mochi is drawn in a SwiftUI canvas at 60 frames per second rather than shipped as a stack of image frames. The repository says the Mac build has no third-party code dependencies.

Windows needs a different route because there is no physical notch. Coucou uses a transparent, always-on-top Tauri 2 window at the top of the display, with a Rust back end and a TypeScript interface. Its hook helper uses a named pipe rather than a Unix socket. The Windows documentation says that version can receive Claude Code events from any terminal. The current Mac build listens only to sessions running in VS Code, a limitation that is easy to miss in the main pitch.

Convenience does not shrink the permission

An approval button beside a cartoon face still authorizes a real command. Anthropic warns that command hooks run with the full permissions of the user account. They can read or change anything that account can reach, including deleting files. Its documentation tells users to review hook commands before adding them. Coucou's installer helps by showing the settings diff and preserving existing hooks. It also includes an uninstall path, but developers still need to inspect what they are installing.

The same care applies when the notch shows a command. A small surface is good for noticing a request, yet it has less room for context than a terminal. A terse command can conceal a broad filesystem target or an unfamiliar script. It can also hide a network action. The interface is most useful when it keeps the exact tool input visible enough to support a decision, rather than turning approval into a reflexive click.

Coucou says it has no account or telemetry and stores API keys in macOS Keychain or Windows Credential Manager. Those are maintainer claims in the repository, not the result of an independent audit. The optional integrations also widen what the app can contact and which credentials it holds. A cautious setup would begin with Claude Code monitoring alone, then add each service only when its screen-edge status is useful.

Distribution is the roughest part of the first release. The downloadable macOS build is not notarized, so users have to approve it through Privacy & Security after macOS refuses the first launch. The Windows installer is temporarily unavailable. The maintainer says Microsoft Defender classified the unsigned package as Trojan:Win32/Wacatac.H!ml, describes the result as a false positive, and is waiting for review before restoring a signed download. Windows users can build from source with Rust, Node 20 or newer, and Microsoft's C++ build tools.

Those warnings do not establish that Coucou is malicious. They do mean the easiest install path lacks the platform assurances many developers expect from software that touches coding-agent permissions and stores service tokens. Signing and notarization would remove an awkward trust test from a project whose job is partly to mediate trust decisions.

The fork stops at Mochi

The repository labels its code MIT, but that license does not cover the Coucou and Mochi names, the character, icons, sounds, or promotional media. The separate asset license permits personal builds and contributions. Anyone distributing a fork must supply a different name, character, icon, and sounds unless the creator grants permission.

That split is defensible, though it makes the word open mean two things here. Developers can study and reuse the agent-monitoring machinery. They cannot clone the personality that made the project immediately recognizable and publish it as their own app. For a utility whose rapid attention came partly from its animated companion, the boundary is material rather than legal fine print.

Coucou's first public v0.1.0 release arrived on September 27, minutes after the repository was created. This is young software, even with four-figure star interest. Stars show that the idea connected with developers. They do not test whether permission relays survive crashes, hook configuration changes, several simultaneous sessions, or weeks of daily use.

The gap between work and interruption

The star burst says something useful about coding-agent interfaces. Developers may want agents to disappear while routine work proceeds and become conspicuous at the exact moment judgment is needed. A full chat window is poorly shaped for that rhythm. Coucou treats the agent more like a background job with a compact status light and an interrupt button.

Its implementation also shows how much can be built on a public event stream. Claude Code's hooks expose session, tool, notification, and permission events as JSON. Coucou turns that stream into animation and a local decision channel without changing the model or inserting a new orchestration service. Other projects could use the same events for accessibility controls or focused audit displays, provided they respect the security weight of the commands they run.

Watch the next signed releases rather than the star counter. A notarized Mac build and the return of a code-signed Windows installer would remove the immediate installation doubts. Clearer command context in the approval view and broader Mac terminal support would test whether the edge of the screen gives a developer enough context to answer an agent's interruption.

We reviewed this

  1. terminal — our honest review
  2. desktop — our honest review
  3. desktop — our honest review

Sources

  1. Coucou GitHub repository
  2. Claude Code hooks reference
  3. Coucou for Windows documentation
  4. Coucou name, character and artwork license
  5. Coucou v0.1.0 release