Activities Wed Aug 5 14:32 3 · working

Your coding agents, on the GNOME top bar.

Dasbo Island is a GNOME Shell extension that keeps every live Claude Code and Codex session in the top bar: status at a glance, Claude Code permission prompts answered inline, and one click back to the terminal that's running the work.

Install from source GitHub

Verified against 18 real Claude Code hook payloads and 6 from Codex. Free and GPL-3.0-or-later. GNOME Shell 46 to 50.

The pill and popup above are driven by the extension's own state machine, compiled for the browser. Not a mock.

One glance says what every session needs.

Resting — one block breathes; the agent is up with nothing to do
Working — a light runs clockwise for as long as the agent needs nothing
Needs you — all four blink; nothing moves until you answer
Error — a diagonal pair holds; the session stopped and the row says why
Done — a green stagger; the work finished and the terminal is free

Built for the moment an agent needs a human.

An agent stops to ask permission in a terminal behind three other windows. You notice twenty minutes later. That gap is the whole reason this exists.

Answer permissions from the bar

A Claude Code agent asking to run a command blinks the pill. Allow or deny from the popup, with no hunting through terminal windows for the one that's stuck. Codex sessions notify but can't be answered from the bar.

Jump back to the session

Click a session row and land in the window the session started in, so getting back to an agent costs one click instead of a search.

Watch the plan tick over

Agents that keep a task list show progress (3/10 beside the clock) and the expander opens the list itself, one line per task. It's how you tell a long job from a stuck one without reading the terminal.

Hear when you're needed

Permission requests, questions, notifications, and finishes each have a cue from your desktop's own sound theme. A fullscreen window doesn't mute them: that's when the pill is least visible and the sound most useful.

Know when it's waiting

When an agent sits idle on your input, its row says so and the popup opens on its own, closing again after five seconds, or however long you set. A session waiting on a word from you doesn't sit there all afternoon.

Supported agents

AgentIn this buildStatusPermission gating
Claude CodeYesVerified against 18 real hook-payload fixturesYes
Codex CLIYesVerified against 6 real hook-payload fixtures (0.146.0)No — notify-only
OpenCodeComing soon
Cursor CLIComing soon
Antigravity CLIComing soon

Statuses are honest, not aspirational. The details live in Known limitations and the README.

A coming soon agent has a row on the extension's Agents page with its toggle and both buttons disabled: visible, not installable.

Fail-open, guaranteed.

The hook helper exits 0 with empty stdout on every error path. If the island is disabled, crashed, or never installed, your agents behave exactly as they would without it. A session can never hang on this extension.

Nothing leaves your machine. Hook payloads travel from the agent to the extension over your session's D-Bus; the extension makes no network calls and collects no telemetry.

Install from source

Install

GNOME Shell 46 to 50, X11 or Wayland. Building needs Node 22 and glib-compile-schemas (libglib2.0-bin on Debian and Ubuntu; it ships with GLib itself on other distributions). It isn't on extensions.gnome.org yet, so for now install from source:

git clone https://github.com/dasbo-dev/island-gnome.git
cd island-gnome
npm ci
make install
# Reload the shell: X11 Alt+F2, r, Enter; Wayland log out and back in
gnome-extensions enable dasbo-island@ayubaswad.gmail.com

Then open the preferences and install hooks for each agent you use:
gnome-extensions prefs dasbo-island@ayubaswad.gmail.com

Changed your mind? Remove the hooks from that same preferences page, then make uninstall.

Support

Dasbo Island is free and GPL-3.0-or-later, and stays that way. If it saves you a window switch or two, you can buy me a coffee.