Claude Code can run for twenty minutes and then sit waiting for one word from you. Shiplings watches that with a hook and calls you when it happens, without a window, a dashboard or a browser tab.
Updated 24 September 2026
A long generation is fine. What costs you the afternoon is the gap between the moment an agent stops and the moment you notice it stopped. You alt-tab back every ninety seconds to check, which is the interruption you were trying to avoid, or you forget for twenty minutes and the agent has been idle for nineteen of them.
Claude Code writes hooks: small commands it runs at defined moments in its own lifecycle. Shiplings installs them in one click and listens on a local socket. Nothing polls, nothing is scraped, and there is no delay to tune.
| What happens | What you see |
|---|---|
| The agent starts working | The character gets to work. No sound, no window. |
| It asks a question or hits a permission prompt | The character calls you by name of project and agent. |
| It finishes | A short remark, and nothing else. |
| A run ends in an error | The character reacts once, and does not repeat itself. |
The rule the whole app is built on is that attention has to be earned. Level one is posture only: the character's pose changes and nothing else happens. Level two is a call, and it is the only one that asks for you. Level three is a celebration, and it is rate limited on purpose so that it still means something the fortieth time.
Both. The hooks are Claude Code's own, so it does not matter where you run it.
Each run is tracked separately and named by project, so a call tells you which one stopped.
No. The hook reports locally over a Unix socket, and there is no server to report to.