Releases: Dixie-sketch/Clawdeck
Release list
crabd 0.30.0 - the limit gauges stop dying every morning
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 -LimitsTokenContract: docs/STATE-CONTRACT.md v0.30.0.
SideCrab 0.28.2 - the cards get easier to read
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
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
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
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
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-tokenon 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'snullOrigin is refused with403. Ten wrong codes in a minute lock the gate for a minute. A companion with no gate answers503, never204. - Each pending request carries a
requestIdthe tap must echo; a stale id is409, decided under the broker's lock. Install-SideCrab.ps1 -PairingCodeprints the code;-StatusandTest-SideCrab.ps1show pairing state./v1/stategains anapprovalsblock;/v1/healthgainspanelToken(presence and lockout, never the code).
Upgrade
git pullthenpwsh -File .\setup\Update-SideCrab.ps1(crabd 0.29.0).- Import
SideCrab-0.27.0.icuewidgetinto iCUE (the widget updates only by import). pwsh -File .\setup\Install-SideCrab.ps1 -PairingCode, paste the code into the widget's Approval Pairing Code setting.- Optional:
pwsh -File .\setup\Install-SideCrab.ps1 -WithApprovalsto 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
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 adashboard_lcddevice. - Companion crabd 0.28.2, notifier 0.20.0 - install with
setup\Install-SideCrab.ps1(Windows, PowerShell 7, Python 3.13). - Wire contract:
schema5, seedocs/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.