Skip to content

Releases: Dixie-sketch/Clawdeck

crabd 0.30.0 - the limit gauges stop dying every morning

Choose a tag to compare

@Dixie-sketch Dixie-sketch released this 04 Sep 15:21

Companion crabd 0.30.0. No widget change (the current widget is 0.28.2); update with git pull and pwsh -File .\setup\Update-SideCrab.ps1.

The problem. Claude Code's OAuth access token lives about six hours and the file it lives in (~/.claude/.credentials.json) is only rewritten when a terminal claude makes an API call; the desktop app keeps its refreshed token elsewhere. So a panel fed from that file read "Claude token expired - run /login" most mornings, and /login was not even the fix.

The fix. crabd now accepts an optional long-lived token from claude setup-token, stored DPAPI-protected for your Windows account by Install-SideCrab.ps1 -LimitsToken, and uses it only when the CLI token has expired. It is decrypted in memory per poll, sent only to Anthropic's usage endpoint, never logged or served. /v1/state.limits.tokenSource says which token answered; -Status and Test-SideCrab.ps1 show it. The unavailable notes now say what actually fixes them.

claude setup-token
pwsh -File .\setup\Install-SideCrab.ps1 -LimitsToken

Contract: docs/STATE-CONTRACT.md v0.30.0.

SideCrab 0.28.2 - the cards get easier to read

Choose a tag to compare

@Dixie-sketch Dixie-sketch released this 02 Sep 17:15

Widget 0.28.2 (SideCrab-0.28.2.icuewidget, attached). Companion unchanged (crabd 0.29.0).

The session cards are easier to read: type is about 17% larger (titles 24.5 px and detail lines 18.4 px at 2560 x 720, up from 20.9 and 15.5) and titles wrap to two lines instead of being cut short. To pay for the room, a question card pins its question at three whole lines and hides its subagent rows, an approval card keeps a one-line title, a card shows at most two subagent rows, the last-event line is never squeezed away, and badges keep their chip size. Compact density is unchanged. Checked for overflow on five fixtures in both densities: none.

Includes 0.28.1's faster blink and 0.28.0's finish dance. Import this file into iCUE; after an import, check the widget's settings, since iCUE can reset them.

SideCrab 0.28.1 - the crab blinks every 8-10 seconds

Choose a tag to compare

@Dixie-sketch Dixie-sketch released this 02 Sep 16:49

Widget 0.28.1 (SideCrab-0.28.1.icuewidget, attached). Companion unchanged (crabd 0.29.0).

The idle blink now happens every 8 to 10 seconds instead of every one to three minutes, so the crab reads as alive rather than as a still image. Same gates as before: calm moods only, never under quiet hours, never under reduced motion, and the blink is still one 150 ms frame.

Includes 0.28.0's finish dance, 0.27.1's blank-panel fix and 0.27.0's approval pairing. Import this file into iCUE; after an import, check the widget's settings, since iCUE can reset them.

SideCrab 0.28.0 - the finish dance

Choose a tag to compare

@Dixie-sketch Dixie-sketch released this 02 Sep 16:32

Widget 0.28.0 (SideCrab-0.28.0.icuewidget, attached). Companion unchanged (crabd 0.29.0).

New: the finish dance. When an agent finishes a real turn (a session goes from working to done after 20 seconds or more of work), the crab puts its sunglasses on and does a four-beat shimmy. It is bounded so a busy fleet is not a crab that never stops: one dance per 30 seconds, never while any session is waiting on you, and never under quiet hours or reduced motion. A plain wardrobe still dances, bare-shelled.

Includes 0.27.1's fix for the blank panel and 0.27.0's approval pairing. Import this file into iCUE; after an import, check the widget's settings, since iCUE can reset them.

SideCrab 0.27.1 - fixes the blank panel of 0.27.0

Choose a tag to compare

@Dixie-sketch Dixie-sketch released this 02 Sep 14:50

Widget 0.27.1 (SideCrab-0.27.1.icuewidget, attached). Import this instead of 0.27.0.

0.27.0 imported into iCUE but rendered a blank panel: iCUE injects every widget property as a same-named global, and the new panelToken property collided with a function of the same name in the script, which is a parse-time SyntaxError. Nothing ran. The reader is renamed; the property, the pairing code you already entered, and crabd 0.29.0 are unchanged.

Everything else is as in the v0.27.0 notes: panel approvals are safe to turn on once the pairing code is set in Approval Pairing Code.

SideCrab 0.27.0 - panel approvals are safe to turn on

Choose a tag to compare

@Dixie-sketch Dixie-sketch released this 02 Sep 02:43

Widget 0.27.0 (SideCrab-0.27.0.icuewidget, attached) and companion crabd 0.29.0. This release closes the two disclosed panel-approval residuals, SEC-a and WID-a.

What changed

  • A tap on Approve or Deny now carries a pairing code that crabd mints into ~/.sidecrab/panel-token on first start. The widget holds it as the iCUE property Approval Pairing Code, which no web page can read, so a page that forges the widget's null Origin is refused with 403. Ten wrong codes in a minute lock the gate for a minute. A companion with no gate answers 503, never 204.
  • Each pending request carries a requestId the tap must echo; a stale id is 409, decided under the broker's lock.
  • Install-SideCrab.ps1 -PairingCode prints the code; -Status and Test-SideCrab.ps1 show pairing state.
  • /v1/state gains an approvals block; /v1/health gains panelToken (presence and lockout, never the code).

Upgrade

  1. git pull then pwsh -File .\setup\Update-SideCrab.ps1 (crabd 0.29.0).
  2. Import SideCrab-0.27.0.icuewidget into iCUE (the widget updates only by import).
  3. pwsh -File .\setup\Install-SideCrab.ps1 -PairingCode, paste the code into the widget's Approval Pairing Code setting.
  4. Optional: pwsh -File .\setup\Install-SideCrab.ps1 -WithApprovals to arm approvals.

A widget older than 0.27.0 cannot approve against crabd 0.29.0: the tap is refused and the terminal dialog decides, which is the safe direction. Contract: docs/STATE-CONTRACT.md v0.29.0.

SideCrab 0.26.0 - first public release

Choose a tag to compare

@Dixie-sketch Dixie-sketch released this 02 Sep 01:44

First public release of SideCrab / Claw'deck: an ambient Claude Code status panel for the Corsair Xeneon Edge.

In this release

  • Widget 0.26.0 (SideCrab-0.26.0.icuewidget, attached) - import into iCUE 5.44+ and place it full-screen on a dashboard_lcd device.
  • Companion crabd 0.28.2, notifier 0.20.0 - install with setup\Install-SideCrab.ps1 (Windows, PowerShell 7, Python 3.13).
  • Wire contract: schema 5, see docs/STATE-CONTRACT.md.

Read before turning on panel approvals: the README section of that name and SECURITY.md. Approvals ship off; SEC-a is an open, disclosed residual.

Known issues: README "Known issues" and docs/BACKLOG.md. The glow component ships disabled (Corsair SDK crashes headless).

MIT licensed. Not affiliated with or endorsed by Anthropic or Corsair.