From 669674fb8024aea50f2c1b3940130d67e6949ce1 Mon Sep 17 00:00:00 2001 From: Josh Nichols Date: Fri, 16 Oct 2026 13:18:46 -0400 Subject: [PATCH] claude: run ccstatusline from a mise install instead of npx Pinning to 2.2.32 (#58) skipped the registry lookup but not npm's own startup, which still sampled at 21-68% CPU per statusline refresh in every session. Install it via mise npm:ccstatusline at the same pin and call the binary directly. Locally: ~2x faster wall time and ~3x less CPU per invocation (hyperfine, 10 runs). Co-Authored-By: Claude Opus 5.5 --- claude/roles/base.jsonc | 2 +- config/mise/conf.d/dotfiles.toml | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/claude/roles/base.jsonc b/claude/roles/base.jsonc index 59bec3e..3512c58 100644 --- a/claude/roles/base.jsonc +++ b/claude/roles/base.jsonc @@ -3,7 +3,7 @@ "model": "opus[1m]", "statusLine": { "type": "command", - "command": "npx -y ccstatusline@2.2.32", + "command": "ccstatusline", "padding": 0, }, "includeCoAuthoredBy": true, diff --git a/config/mise/conf.d/dotfiles.toml b/config/mise/conf.d/dotfiles.toml index 27b3ce6..f030e3d 100644 --- a/config/mise/conf.d/dotfiles.toml +++ b/config/mise/conf.d/dotfiles.toml @@ -12,6 +12,10 @@ fnox = "latest" go = "1.26" node = "lts" "npm:markdownlint-cli2" = "0.22.0" +# Claude Code statusline (claude/roles/base.jsonc). Installed here instead of +# `npx -y ccstatusline@x.y.z` because npm startup alone cost 21-68% CPU per +# refresh, per session. Pinned: bump on purpose. +"npm:ccstatusline" = "2.2.32" pitchfork = "latest" pkl = "0.30.0" python = "3.13"