Skip to main content

Deep links

ccmon registers as the system handler for the ccmon:// URL scheme. This is what lets the daemon's "Open" notification action take you straight to the right place in the UI.

Supported URLs

URLEffect
ccmon://session/<session-id>Focuses the desktop app and opens the centered approval modal scoped to that session.
ccmon://session/<session-id-prefix>Same, but accepts an 8-character prefix.

How it's wired up

The .deb install drops a desktop entry at /usr/share/applications/ccmon.desktop that declares the x-scheme-handler/ccmon MIME type. The post-install hook updates the desktop and MIME databases so the handler is picked up immediately — no manual registration needed.

How notifications use it

When a permission request arrives, the daemon fires a desktop notification via notify-send with an "Open" action. Clicking it shells xdg-open ccmon://session/<id>, which:

  1. Focuses the ccmon UI (or launches it if it isn't running).
  2. Opens the approval modal centered on the request from that session.

You can deny / approve / deny-with-message inline and get back to whatever you were doing — no tab switching, no terminal context loss.

Trying it manually

xdg-open ccmon://session/abc12345

If nothing happens, the scheme handler isn't registered — try reinstalling the .deb.

Disabling notifications entirely

export CCMON_NO_NOTIFY=1

The daemon won't fire notify-send; you can still use the UI directly. See Environment.