{"_id":"@generativereality/cctabs","_rev":"29-e48abf89114db8b9efb732c4946a95e8","name":"@generativereality/cctabs","dist-tags":{"latest":"0.5.8"},"versions":{"0.1.0":{"name":"@generativereality/cctabs","version":"0.1.0","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.1.0","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"85b10d1dbeb2718496e293387a66328e26dd9935","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.1.0.tgz","fileCount":5,"integrity":"sha512-CdLaHmU7P+eDwHPA9LEq1tgtugjCMdJexCr/+LgjfBS31n06siaTj662lOp5smjGRRi9S8vvv9n2LaNJggOz2w==","signatures":[{"sig":"MEUCIQCXIqAmJQJtMGUs4VkkeWg4Lpt/oVDKuZE6JZcYXunHywIgO5akIIQelmLdpD+6yQIa2ElvMXxJPyBg+WDQN55sJso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59689},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"f6993d8a2620e3ae4582977346b0372811528ed8","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","build":"tsdown","check":"bun run typecheck && bun run build","prepack":"bash scripts/sync-plugin.sh --check && bun run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","sync-plugin":"bash scripts/sync-plugin.sh"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"10.9.7","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.1.0_1775845507015_0.8278206511939972","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@generativereality/cctabs","version":"0.1.1","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.1.1","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"c6d86fe2eca943d84d1dafb7718022df94eda872","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.1.1.tgz","fileCount":5,"integrity":"sha512-TNb96vhwqTBR/DGv9h74pD7yccqFFKrGPtGDtSakZoIKok7dj8EHXIDN20jH9SFVve1HGf6NwlyBB3Wo4ZWQ6g==","signatures":[{"sig":"MEYCIQCOLXAzZSdfHrMKd3+iFiji1KM3OeGMornN1IOQOmKiEQIhAI0JnOglQVQNDzGh1YDxJYkWEoKkwze9hDXAj/GXChDN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59705},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"7e8c073bef65be1a2859cf88f947ba3e602c9f7e","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","build":"tsdown","check":"bun run typecheck && bun run build","prepack":"bash scripts/sync-plugin.sh --check && bun run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","sync-plugin":"bash scripts/sync-plugin.sh"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"10.9.7","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.1.1_1775846609866_0.04225540547359974","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@generativereality/cctabs","version":"0.1.2","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.1.2","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"29ecb3b18b66deb79b2e61e5b42b33e89d3069fd","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.1.2.tgz","fileCount":5,"integrity":"sha512-JKjZCBKFtbnPPQHdSicOlGVId4pG7q8yCgGK79JIFYU/mvMtKYuMCC0QCLYpqjFRUTQosfZ7hiOcgLlWSI54zw==","signatures":[{"sig":"MEYCIQC8FSpc3A105uQFwTDd45gzLVhX4HZcZcbbXHIQqmtKQQIhAOP6rBpSAFrAh1+eK35ZbwGh78LHvKMpaHr/ntIf4Hnj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69583},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"a491179eb8051fb89fb113757b0349dea2126ad6","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","build":"tsdown","check":"npm run typecheck && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","sync-plugin":"bash scripts/sync-plugin.sh"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"11.6.0","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.1.2_1777095290368_0.6104403197188213","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@generativereality/cctabs","version":"0.1.3","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.1.3","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"cb35ae2fafadb6f0db92672e7e55bd376185bd65","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.1.3.tgz","fileCount":5,"integrity":"sha512-pw0N5vK9DJrR48EF5Ix9Yro6lwJ/HZwgPDQv2o/wDI3QtT6EOmWytKsIgPIKPLlUAaWUivDEndV347EN/Jr6Xg==","signatures":[{"sig":"MEUCIQC19X77BL3eu3dZWTg5m3xwaJOGdXtw1y373MwE9dTJ3AIgNkpWfA+5M6DjK6PxpqDQphGlhUuZWXvWiIUbUYExAh8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73562},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"24d15d77e81e70405025adc3abfe84bf92f73a92","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","build":"tsdown","check":"npm run typecheck && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","sync-plugin":"bash scripts/sync-plugin.sh"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"11.6.0","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.1.3_1777097249206_0.05921335712475839","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@generativereality/cctabs","version":"0.1.4","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.1.4","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"378cd46753150e562373f5037aba4417d9bf1ee6","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.1.4.tgz","fileCount":5,"integrity":"sha512-rJI8wOh8nqDDlretgwHWFvI7dNZhvrE41cQz9XGQgYVQJ1x56aBAU+e8fA3ffZyxHEZAI+eZX8FQBfdoKtKK6g==","signatures":[{"sig":"MEUCIQCML5vaAyaq9GD+BDYhDFB1muPeSuZamXW0XFf/somUKQIgc1np2f204ud7r4p9NOHM1H6LGRdb77OhQVLLrWOjr5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75697},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"4d4f5d17699bc18607c1ea63e642b543654a3e73","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","build":"tsdown","check":"npm run typecheck && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","sync-plugin":"bash scripts/sync-plugin.sh"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"11.6.0","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.1.4_1777145978135_0.24101531631819095","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@generativereality/cctabs","version":"0.2.0","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.2.0","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"996a70d860d9a4d4fff24b463d29846db89becde","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.2.0.tgz","fileCount":5,"integrity":"sha512-MfrEhljnGg4+5nmLosS4wmbUqzEhD6I6602NpENpDlNuQBol7Yn537lSHnjZoUsuhZls+elKAVi/mZMpxIv1CQ==","signatures":[{"sig":"MEUCIQCgtow4B1B0gLbrR659dw0kdlFSExXJEkJZZJAYDRUEgwIgS1LIKRLOCShXXy/ua/JvtBdlZaCubA1DTS+rnqJpHVw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87640},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"e07f09dab9b62f3d3e4012f8b2f4e6c3b05847e9","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","build":"tsdown","check":"npm run typecheck && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","sync-plugin":"bash scripts/sync-plugin.sh"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"10.9.7","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.2.0_1777824817851_0.5235122290883314","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@generativereality/cctabs","version":"0.3.0","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.3.0","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"63d44aa15467718c87442e637921ce9abc167349","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.3.0.tgz","fileCount":5,"integrity":"sha512-S43fnzjJfIkb92rMAI8J7kqAvXa08NH+f+yNtcxDK+N77qLd3TH/UmkeIQPOgT81wW6PaS/FPRrQDQy50jowrA==","signatures":[{"sig":"MEUCIQCX6Hf9Dfbt6oFKDK/fkUQXlo9fDmmdR51ymmZ/1W4BmAIgEqfqsLx4yNn535NsWZIHkLuVYRx8AFaIHVxwJ23WH5g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116344},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"97b0f77582da10d86ca11a79f48e64812fb040eb","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","build":"tsdown","check":"npm run typecheck && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"10.9.7","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.3.0_1778429913985_0.5312620712614835","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@generativereality/cctabs","version":"0.3.1","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.3.1","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"ddd6eb0a27136330bc2d7a7ec1fe70bb8d4e5f30","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.3.1.tgz","fileCount":5,"integrity":"sha512-97ufoyJvKEl8UQf9REaLcjua8sRD6qODVZ6bA18955g+GTF27DOOVHDaNXCMMKaHv4ZyPQV1tTmDj4s0wdKjfA==","signatures":[{"sig":"MEUCIQDSdBeHLIfGuzOu95Ic5hFiQ5wSnQFPynIzch1fFZ7VvQIgZ1L6HA4UToKJURAWTSzpOv+4qdJfEuApMvDLFSs4lTo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129896},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"4f4e37415c76196ca2c220ffa1b8bc4a68abcfe4","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","build":"tsdown","check":"npm run typecheck && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"10.9.7","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.3.1_1778575341264_0.7486991379323444","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@generativereality/cctabs","version":"0.3.2","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.3.2","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"f216431b1021548c4faf1d8c884bfc8af95467c9","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.3.2.tgz","fileCount":5,"integrity":"sha512-HzDt8v52YGHTE9vEI00687U3lDTKe43Pqq/gbHlv6V6/yBedJyWpk0BfL+fYPXAF/VaLArp8mKOQ675g/nM3EQ==","signatures":[{"sig":"MEYCIQDh6F5nxWTU6oWY59WGBTyUE4lmCMKXqLtwFOTECMATGAIhAIjWA4AKACAw7CZLNfi7L22zim/8HL4WvKzEHqgalV2c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132410},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"15ebab147b315f0444d2ead9595a03a70b721128","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","build":"tsdown","check":"npm run typecheck && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"10.9.7","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.3.2_1778687995129_0.5175791823755163","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@generativereality/cctabs","version":"0.4.0","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.4.0","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"9ad208ed261514280061ba17ec15e4abcf9c6581","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.4.0.tgz","fileCount":5,"integrity":"sha512-MADig3jOwaUTfP+1t5Zv90vtnqtaJGIP6j9wa+FrV/X26x8Kwstq7c9FymsuYDWzeRpu7gn165x9ObLwYCfcyw==","signatures":[{"sig":"MEYCIQCO2zyjbRrDfTZZFj9fp2YlGZuLasijYGf17qPmX6uKjQIhAOtNkaJCVWRZW/3mDdNbRuN34QqaEhOA3yyxkT/25Waj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147170},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"9d4a26d150b5983159152471d61f53642aced69d","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","build":"tsdown","check":"npm run typecheck && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"11.6.0","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.4.0_1778912615926_0.09737845027113856","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@generativereality/cctabs","version":"0.4.1","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.4.1","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"92577e2248956f678624a4b2631472ca47ce7a21","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.4.1.tgz","fileCount":5,"integrity":"sha512-ah10iZfmG2pGLknhxfxV4TbWyTiz+Fn0kcH8vIcRrKREO/pM8V3bNFSO5Eo9ZXO7Wah4n9LG4E6fadthNzHQ4g==","signatures":[{"sig":"MEUCIF8h17oOdMdvQvv6cQsLhr619pSsXtH+aamIveE/rb+4AiEAmblucK2k6lIN3K8AkRVesGiE9wvtoeu0dGetzYwH/xQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152834},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"d22187d763d9fc4e813095f347365eb27ddb2443","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","build":"tsdown","check":"npm run typecheck && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"11.6.0","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.4.1_1780554393407_0.8576095533217496","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@generativereality/cctabs","version":"0.4.2","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.4.2","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"c8b3c32719d01d01666a2a7848d1da11ef867403","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.4.2.tgz","fileCount":5,"integrity":"sha512-NA+63IiYz3TU4WuJ3ncHkAz3APlWu5sb9qQyX8DlmsycQR2QHIMj0u8qNOWwgoAL3XdqQOB1iL3Z2VJOqzzt/w==","signatures":[{"sig":"MEUCIQDIDjeUlUNbFDfCJzUYL2DlC1qP9zt/j3IA0ikWDjjrcQIgal+d1i6Lt5jfcTaw+02Azlgmpee2VlO+w/ZnX+8s8BQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":152864},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"f681aaf7260fef8ad046f17c6c5515ab77e1f098","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","build":"tsdown","check":"npm run typecheck && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"11.6.0","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.4.2_1780599786671_0.36993729138215037","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@generativereality/cctabs","version":"0.4.3","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.4.3","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"179303fe4bc35168b9017ba29ff985f3f092b82d","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.4.3.tgz","fileCount":5,"integrity":"sha512-ZR1zT4SBsBB4G+cF9EFz5jPCgLIJfo4fmIUtucdnXcIkjn79MNPQeU+BaPDR7YKwJIBOQApBElGSMrGcYlw/sw==","signatures":[{"sig":"MEUCIQDZvgPV42Wf/gv6Qwz84bBthZZBHldi8qNgQbwcLpASFgIgJpxwsEntxhHDE2CcLtvsXbLfxjj6ZFewbp1DjhuyXt0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154566},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"9a7e860835c7434cf1453e3bedbbcd8a2d60885f","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","build":"tsdown","check":"npm run typecheck && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"11.6.0","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.4.3_1780651092863_0.9345378136349514","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@generativereality/cctabs","version":"0.4.4","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.4.4","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"f2c391105ccca81fc477ed320c8c6c841cf2dd3c","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.4.4.tgz","fileCount":5,"integrity":"sha512-t17F9EHAC4iUCeiLeerS1K4t9m3yKr9tnO5UpC2HEk4KLq3JQBC2dhmGNQPYRnB8AWyEx9HxH3IvpOzpx809ZA==","signatures":[{"sig":"MEYCIQD0jY/iMfR63+HHLkUpqu2gcwiUsIITDTi+9iNW/Llj0gIhAKmEeBF627iNSt1dl+6ptWiUI09xt+/S7efWYXSbMxip","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":155563},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"61f74af37fd3f2f49bcca920545f3694b16d0d30","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","build":"tsdown","check":"npm run typecheck && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"11.6.0","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.4.4_1780861650691_0.42070226033459246","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@generativereality/cctabs","version":"0.4.5","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.4.5","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"825fe8547325eccc3e3dd9cb2b2af03b8627bc5e","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.4.5.tgz","fileCount":5,"integrity":"sha512-0GWdvUVDU5/UbwdGHvfmnUgxvKU3/NPZEyiD41j9dM3InZKDkYS+QoQ2IvGiuJ27DBa+I6J0ltkTvqhHvbRumQ==","signatures":[{"sig":"MEYCIQC0tNXsq7+1sL0UfMcBd6uCJgHQl58F4U4m6QnJT6Wz2wIhAPQwPMRChfrrMtlqcFlUbnRWlzMrK1pPPdHNlsSX02vL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159633},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"1b6e0feeebbe2a57005109309a92a78d8dee7697","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","build":"tsdown","check":"npm run typecheck && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"11.6.0","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.4.5_1781016895773_0.5552723866249851","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@generativereality/cctabs","version":"0.4.6","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.4.6","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"d74533e7586bc26e818af8653e027e34a1b529dd","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.4.6.tgz","fileCount":5,"integrity":"sha512-h174/0WO0ttFQXBSkbqCM4b1TJ0GxD8TM4DN2BkIjClC4/n9YJx2NkCQLDgvJu/C9qu6zjPPncPzenB0EnpQNw==","signatures":[{"sig":"MEUCIFnolVpwMjRb1T70JNlq0d119aq3JuNKCHPXVuycA2iWAiEAxuyOOxpBypV6Flsw/YvgXbbbTkvCL3t4FcYVGZoZ/7A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171674},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"7f0ff397bc8e9d6c069383582d30322c3cbe1cda","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","test":"bun test","build":"tsdown","check":"npm run typecheck && npm run test && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"11.6.0","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","@types/bun":"^1.3.14","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.4.6_1782833998521_0.589495766984661","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@generativereality/cctabs","version":"0.4.7","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.4.7","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"496d7f5f898405394ae57a1a3da084324f6087a8","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.4.7.tgz","fileCount":5,"integrity":"sha512-7vFBDFN0n1M7manMWECcW2PP6ZQyLLwhWqDhielwD5HcjX2F0TWuSX72scAIRnMM+XQWfH6I6o7h1p4EFkbfQg==","signatures":[{"sig":"MEUCIQC1BFKAJzVKFiq9VRC7RGz3NHu1oDpZnSvLGY1y2WpZXwIgAk5MLNlaHIkWYZwVJnerTxKmaQD7fkxALPv+VhSrWm4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182006},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"adbf526b322c0b69aac24d59eb0ae1e942f4f19e","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","test":"bun test","build":"tsdown","check":"npm run typecheck && npm run test && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"11.6.0","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"24.10.0","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","@types/bun":"^1.3.14","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.4.7_1783175185281_0.02896569258000592","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@generativereality/cctabs","version":"0.4.8","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.4.8","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"729a6cb9cf0b359f56048633b1edbdc67a6c4fda","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.4.8.tgz","fileCount":5,"integrity":"sha512-qj7gf4wjnVSbqILBcqx+xyI/1CYpZUt6vZuP6/9syCpRiFlzMlvjRDrvvGECyaAMmFU9JI2hSmyFEUholl90VQ==","signatures":[{"sig":"MEUCIQDtcmyDvqm8vkomRRzcFkxzu5NYkbCFl7dJUPmIBYnEvAIgaGvCKqI1SPXTZWtht+2IsiwYX8hOgmwYC8JLyK9qp28=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189387},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"47596aa2c46ca820a397eee800dd0c4d591cffb7","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","test":"bun test","build":"tsdown","check":"npm run typecheck && npm run test && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"10.9.7","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","@types/bun":"^1.3.14","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.4.8_1784361544614_0.534573778149376","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@generativereality/cctabs","version":"0.4.9","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.4.9","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"7f3012c55584a067b185735c217c645eb7bc3fbe","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.4.9.tgz","fileCount":5,"integrity":"sha512-bnGp3Z0yyjUUEnDsX+uni8lugfas2o/T6xt6R1B9Xf2iEtP013Alai+By7JS96Y7LrRaWTquVWYPLz3Mboy9fg==","signatures":[{"sig":"MEUCIDAyhc96Ks9TIj3NWa8HejhmYl/6YUInXCBhsQMKL1cSAiEA0Q79D8NiYgWzbyXBws8tNJK8PAajTVKvQQ/x4syrlhQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196043},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"e99c7546650b10ad3c1ffe612d58d5e59914a4ae","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","test":"bun test","build":"tsdown","check":"npm run typecheck && npm run test && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"10.9.7","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","@types/bun":"^1.3.14","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.4.9_1784740230648_0.18397960017719295","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"@generativereality/cctabs","version":"0.4.10","keywords":["claude-code","ai-agents","session-manager","wave-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.4.10","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"4e70fdab70daf5373d92af4cc20c8435515df639","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.4.10.tgz","fileCount":5,"integrity":"sha512-M9H/e+vwemOt+UYYE0POyaCCbiu+V7HhKTTLhEH7jxt0BIpRH2N50qj8jrouL7BeNJTP7KdKD2vfEXpTfVeE8w==","signatures":[{"sig":"MEUCIBeZBo0yxWFnLzTlm02h72WljM/WSlHEL8Rwq8GlGsUoAiEA4zIhUH/JJ07RrQ7nKcorMc859slmp4b1oqE+35QQJUo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":215056},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"1900a584f8ae6f7b20085eb9461a492d96d0c1a9","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","test":"bun test src/","build":"tsdown","check":"npm run typecheck && npm run test && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch src/","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"10.9.7","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.22.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","@types/bun":"^1.3.14","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.4.10_1785005997082_0.12033672073403534","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@generativereality/cctabs","version":"0.5.0","keywords":["claude-code","ai-agents","session-manager","tabby-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.5.0","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"3eadf246b66ace7116e1e20d662d17ff9a263483","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.5.0.tgz","fileCount":5,"integrity":"sha512-WP/Dm2IQD6DQ8trUC2095ZfOtmz+Ci7+ezI5SE4NU0hX8hzcAjbyQZXxotybPBLkIqnIYdZNQGeBwxf6ucfKFQ==","signatures":[{"sig":"MEUCIC+CwCC687bUApiNX++wBg4ptwx2UcEHRnzJO6pTFQF+AiEA9I82/WLl74X3Io3nXO4ipPCLPBMqLb8rPYZBa6v45nk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204380},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"c6f80dbb1bb1e86804e98c6703a3dc2bbf09d481","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","test":"bun test src/","build":"tsdown","check":"npm run typecheck && npm run test && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch src/","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"motin","email":"motin@motin.eu"},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"11.17.0","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"26.5.1","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","@types/bun":"^1.3.14","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.5.0_1785742171976_0.3788583236270744","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@generativereality/cctabs","version":"0.5.1","keywords":["claude-code","ai-agents","session-manager","tabby-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.5.1","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"34d23fb20869382a408904d20ff80a4161cd944f","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.5.1.tgz","fileCount":5,"integrity":"sha512-Ts/NVw8WX1MHx3lKrmW+/RLHDUVTj/ipO0QV88ZN0J6Awo4M0rCKBeDOEpriNQSLur54QSIn4yoc8bxJOqKqng==","signatures":[{"sig":"MEUCIQCxQEOkib+lP4K7FUMuaFaXssL6QLoMETf9SvpHzvLQ0wIgeeAb5sLRl2E4BuMg2D5YkD4QSR/xqzNojE3JlUqzu40=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@generativereality%2fcctabs@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":266350},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"0fef4c0c6f4c611726ba169713b6593e212de422","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","test":"bun test src/","build":"tsdown","check":"npm run typecheck && npm run test && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch src/","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:25235bb0-2495-49f8-9700-0c1d223f9bc4"}},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"12.0.2","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","@types/bun":"^1.3.14","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.5.1_1787423947014_0.8748222373185437","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@generativereality/cctabs","version":"0.5.2","keywords":["claude-code","ai-agents","session-manager","tabby-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.5.2","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"52c1cd6a86e1892b6094aa7d3c94902ce003fc95","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.5.2.tgz","fileCount":5,"integrity":"sha512-+SC74iqbe2txhEhfCgCWAy58J8hx13TwzJk9K6RVaNXQ9nSl5van61ii+wC9XfHCe9rCZ9MCLqBqRRpSO/sRMg==","signatures":[{"sig":"MEUCIQChb8Jy5KFkVkP9nus0K+u2eZ0MslEIlvXvMgWQuMjhpQIgYGPm8h4z1ijFJblNrzBf1hz+9uGKJfAsp2lsQQnMr8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEwvzQJMDS5lskGtikMvlf3N+uVc33O2FrkipN29QRaMAiEA4mCQFnIpnoFpB88AkUG7911yf2+p7KE1O5Bp3bAkt60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@generativereality%2fcctabs@0.5.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":266538},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"c42b78dcb441de532bfaac971f84baeb4519bf4b","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","test":"bun test src/","build":"tsdown","check":"npm run typecheck && npm run test && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch src/","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:af62dfc0-7818-4b53-9b89-722b6b2b8f20"}},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"12.0.2","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","@types/bun":"^1.3.14","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.5.2_1787862777789_0.9098134151478188","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@generativereality/cctabs","version":"0.5.3","keywords":["claude-code","ai-agents","session-manager","tabby-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.5.3","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctabs":"dist/index.js"},"dist":{"shasum":"61fac8e3695f1a740dc39863ddc13ca2f0a367f0","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.5.3.tgz","fileCount":5,"integrity":"sha512-fdrdW23PwvvPiu7wTbvqBlQNPCbq4sd0wY7b3Kd7X2p9BiBdiG7IwfMJPllFV9NUdR1T/tx5vYZQCevnnuJ8Jw==","signatures":[{"sig":"MEQCICn7uIQe68rKXqsGnudqMC8jS0eiTr7ePRBlTFQAmrReAiBY+5UMt5pjtfzo+zcy9bGeKQObxBhSD+emVocCtAX1DQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGflAQrBZsJqqC8aMJvnfKDTY0AaJPsFxCXWtthx2OXWAiBZ12a+BpJBqkHumZMyDwN32wAlNAz8aYazM6k3QcLX1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@generativereality%2fcctabs@0.5.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274786},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"929bb20611517eadb59dd6ea79ab7425f98e37e3","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","test":"bun test src/","build":"tsdown","check":"npm run typecheck && npm run test && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch src/","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:af62dfc0-7818-4b53-9b89-722b6b2b8f20"}},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"12.0.2","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","@types/bun":"^1.3.14","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.5.3_1788762607873_0.3271562436918569","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"@generativereality/cctabs","version":"0.5.4","keywords":["claude-code","ai-agents","session-manager","tabby-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.5.4","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctab":"dist/index.js","cctabs":"dist/index.js"},"dist":{"shasum":"dd91b570975250d940285c81dc8784a3b03b96a1","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.5.4.tgz","fileCount":5,"integrity":"sha512-qp3zTWJEHzMODBMna0UHy+Uds8kyN1Tp31vSyEuITBQMgJfE+h8IV8wJkhRVWMpUHlnH7opM8OY7CGggPp2j+Q==","signatures":[{"sig":"MEUCIQCAeshFsLoSz2gxjWjXDUKNXNxOGQ68rsnhAZOuU2kYMAIgAVI160+fQjEjyZeiatAig90Hw5uzlQ5GV0xvtmFkFQQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCPbZMN9/xkhgn9/IGMj/xoUgwjRm04782F/wEgcA5S7QIgWN553LT8R/BUoJ3dqGAmuv/EvzhQIX25SvrG0EP5ReU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@generativereality%2fcctabs@0.5.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":339702},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"3695a204061fbb4bc42d469544da0d4325143f8c","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","test":"bun test src/","build":"tsdown","check":"npm run typecheck && npm run test && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch src/","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:af62dfc0-7818-4b53-9b89-722b6b2b8f20"}},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"12.0.2","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","@types/bun":"^1.3.14","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.5.4_1789628400915_0.5796007462469879","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"@generativereality/cctabs","version":"0.5.5","keywords":["claude-code","ai-agents","session-manager","tabby-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.5.5","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctab":"dist/index.js","cctabs":"dist/index.js"},"dist":{"shasum":"4503258fca2c30a47b3f4b9e50841fb03cdc0eca","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.5.5.tgz","fileCount":5,"integrity":"sha512-fd6czbO1hnCBaZUuFoe2/Rv+npNfGwVuZxvqyd58K1QzPvb6prqDOKEYnHbSU5u6sJyZuCskOj8DhzZYU7LAlg==","signatures":[{"sig":"MEQCIBDsAgZfwG6ef0/dcfOeQzOOS4l9Gc1u2CYmKMPZyZulAiAJIUlhMu7mv9jgBD7A5kIhDTSla7TFxByjkIN5Xwlb+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDXc/hIGzMftZC3r77qVECtx6vO7Lq3bE31N6wyTqDn5QIhAOPvMhZdz+8DxQ4d77s+St7ob1roAxKFUoK9FlDB1mSQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@generativereality%2fcctabs@0.5.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":343968},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"7c27dff6e8f2cc21f92a0103e8a2e26a166df707","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","test":"bun test src/","build":"tsdown","check":"npm run typecheck && npm run test && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch src/","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:af62dfc0-7818-4b53-9b89-722b6b2b8f20"}},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"12.0.2","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","@types/bun":"^1.3.14","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.5.5_1790040387587_0.6462159818670641","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"@generativereality/cctabs","version":"0.5.6","keywords":["claude-code","ai-agents","session-manager","tabby-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.5.6","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctab":"dist/index.js","cctabs":"dist/index.js"},"dist":{"shasum":"87e6d0734af8b0ddfccaccb1666975591d8b6d8b","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.5.6.tgz","fileCount":5,"integrity":"sha512-99E5tZgAQEIThrKxexqJs5v7M0NxCNNnqctPbuqGEc2PFSUKh7CqXbZAuTKN15ahCjbAK/efOq9ktGYrpxfNeA==","signatures":[{"sig":"MEYCIQDWhDkysRsqsdTEZ/I/XvG6Dfr28LACP6qXL4BxUzzHUwIhAJrt4nOgqwmztdB2SUpNFX6u9VP8Pv3NQFTtAFNwDhwq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDSMmQDdMtxQMMr3+vmHUNf8DUkwQeARQ0k8tcOTvzZrgIhAP2BmDvp2wWnc/h7XRmOqrMW6HyYhRGUm+V3G0quU6vK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@generativereality%2fcctabs@0.5.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":388948},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"2dc1e9a2c14e5181c7a618b0868ad79fd5b793a3","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","test":"bun test src/","build":"tsdown","check":"npm run typecheck && npm run test && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch src/","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:af62dfc0-7818-4b53-9b89-722b6b2b8f20"}},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"12.1.0","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","@types/bun":"^1.3.14","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.5.6_1790138231053_0.03542787371122391","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"@generativereality/cctabs","version":"0.5.7","keywords":["claude-code","ai-agents","session-manager","tabby-terminal","cctabs","agentherder"],"author":{"name":"motin"},"license":"MIT","_id":"@generativereality/cctabs@0.5.7","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"homepage":"https://cctabs.com","bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"bin":{"cctab":"dist/index.js","cctabs":"dist/index.js"},"dist":{"shasum":"a8fee273a4f5702b39999e794cb0e669b581ce8f","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.5.7.tgz","fileCount":17,"integrity":"sha512-4pd2WS8cDsQz6Fj2NkYOe6nyi77hrTjhn83sQYScLcgdazL1kCUVTz92ZCRjSMXyWngfwpwU32m5TtMQFxiWEQ==","signatures":[{"sig":"MEQCIEBrLtSIuSWpnUb8my5pa4EDZ8C0ZEKbSfxgePfK77kVAiA6DuA9ompHrVePTRWr7v33s/z1cqVuLJYtjMgztUmCvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEqbtXfP4X8r+TyUkMYVzP3ZndifT8/no7Qc5mdI+oYeAiEAj5J0s+9yCCojLxUY9YsYOfV6LpBxKvLE4JZVNL7kyMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@generativereality%2fcctabs@0.5.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":405971},"type":"module","engines":{"node":">=20.19.4"},"gitHead":"44d827e92c5443fdc6138e868725cbbf5ea806fa","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","test":"bun test src/","build":"tsdown","check":"npm run typecheck && npm run test && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch src/","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:af62dfc0-7818-4b53-9b89-722b6b2b8f20"}},"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"12.1.0","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","@types/bun":"^1.3.14","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"tmp":"tmp/cctabs_0.5.7_1790166317831_0.6761228290896335","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"_id":"@generativereality/cctabs@0.5.8","bin":{"cctab":"dist/index.js","cctabs":"dist/index.js"},"bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"dist":{"shasum":"3744a1feb51d51f9416af0267796d3b500bdff47","tarball":"https://registry.npmjs.org/@generativereality/cctabs/-/cctabs-0.5.8.tgz","fileCount":18,"integrity":"sha512-DFspU8a5QYmSvcY6RH7WbwdMC4KN7eJtdAMwH7jIzUmNBOZhVNUq6OzF0CUkOHI17XPQyKB5cmDEU3MJ+RDy8g==","signatures":[{"sig":"MEUCIFWvUHSFpBe/ct0CCzk4OBqxxorD7Im2F5Oxnbsvpx+4AiEAkzXyvr5AE4MHyXgPNuwFpeksdqLKJmpmJ1z+sk40jLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQChP/tYm5fghl3ADzgnTI6cLye3O4EJJyMm/IbS3AmexAIhAP2MKO7JrGAroKRu5iuUGIrPXPlOHzHPBjeaSJnymW0z"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@generativereality%2fcctabs@0.5.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":464150},"name":"@generativereality/cctabs","type":"module","author":{"name":"motin"},"engines":{"node":">=20.19.4"},"gitHead":"96adb9d92ed42551e56ae83a7b59c07166bb91e0","license":"MIT","scripts":{"dev":"bun run ./src/index.ts","lint":"eslint src/","test":"bun test src/","build":"tsdown","check":"npm run typecheck && npm run test && npm run build","prepack":"bash scripts/sync-plugin.sh --check && npm run build","release":"bumpp && npm publish","typecheck":"tsc --noEmit","test:watch":"bun test --watch src/","sync-plugin":"bash scripts/sync-plugin.sh","build:tabby-plugin":"cd tabby-plugin && npm install && npm run build","publish:tabby-plugin":"cd tabby-plugin && npm publish --access public"},"version":"0.5.8","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:af62dfc0-7818-4b53-9b89-722b6b2b8f20"}},"homepage":"https://cctabs.com","keywords":["claude-code","ai-agents","session-manager","tabby-terminal","cctabs","agentherder"],"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"_npmVersion":"12.1.0","description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","directories":{},"maintainers":[{"name":"motin","email":"motin@motin.eu"}],"_nodeVersion":"22.23.2","dependencies":{"gunshi":"^0.23.0","consola":"^3.4.0","@clack/prompts":"^0.9.1","update-notifier":"^7.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"bumpp":"^9.11.1","tsdown":"^0.12.0","@types/bun":"^1.3.14","typescript":"^5.8.0","@types/node":"^22.0.0","@types/update-notifier":"^6.0.8"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cctabs_0.5.8_1790169447047_0.8834045293105253"}}},"time":{"created":"2026-04-10T18:25:06.931Z","modified":"2026-09-23T13:17:27.597Z","0.1.0":"2026-04-10T18:25:07.170Z","0.1.1":"2026-04-10T18:43:30.006Z","0.1.2":"2026-04-25T05:34:50.503Z","0.1.3":"2026-04-25T06:07:29.343Z","0.1.4":"2026-04-25T19:39:38.253Z","0.2.0":"2026-05-03T16:13:38.011Z","0.3.0":"2026-05-10T16:18:34.126Z","0.3.1":"2026-05-12T08:42:21.407Z","0.3.2":"2026-05-13T15:59:55.282Z","0.4.0":"2026-05-16T06:23:36.076Z","0.4.1":"2026-06-04T06:26:33.610Z","0.4.2":"2026-06-04T19:03:06.811Z","0.4.3":"2026-06-05T09:18:13.063Z","0.4.4":"2026-06-07T19:47:30.838Z","0.4.5":"2026-06-09T14:54:56.044Z","0.4.6":"2026-06-30T15:39:58.678Z","0.4.7":"2026-07-04T14:26:25.418Z","0.4.8":"2026-07-18T07:59:04.779Z","0.4.9":"2026-07-22T17:10:30.790Z","0.4.10":"2026-07-25T18:59:57.214Z","0.5.0":"2026-08-03T07:29:32.130Z","0.5.1":"2026-08-22T18:39:07.162Z","0.5.2":"2026-08-27T20:32:57.891Z","0.5.3":"2026-09-07T06:30:07.985Z","0.5.4":"2026-09-17T07:00:00.996Z","0.5.5":"2026-09-22T01:26:27.684Z","0.5.6":"2026-09-23T04:37:11.165Z","0.5.7":"2026-09-23T12:25:17.935Z","0.5.8":"2026-09-23T13:17:27.213Z"},"bugs":{"url":"https://github.com/generativereality/cctabs/issues"},"author":{"name":"motin"},"license":"MIT","homepage":"https://cctabs.com","keywords":["claude-code","ai-agents","session-manager","tabby-terminal","cctabs","agentherder"],"repository":{"url":"git+https://github.com/generativereality/cctabs.git","type":"git"},"description":"Claude Code tab manager. Terminal tabs as the UI, no tmux.","maintainers":[{"name":"motin","email":"motin@motin.eu"}],"readme":"# cctabs\n\n**Run a fleet of Claude Code sessions. From the CLI — or from Claude itself.**\n\nCLI command: `cctabs` (also installed as `cctab`) · Website: [cctabs.com](https://cctabs.com)\n\n```bash\ncctabs new auth ~/Dev/myapp       # new tab, claude starts\ncctabs new api ~/Dev/myapp\ncctabs new infra ~/Dev/myapp\n\ncctabs sessions                   # what's running across all tabs\ncctabs scrollback auth            # read what auth is doing without switching tabs\ncctabs send api --file task.txt   # drop a prompt into any session\ncctabs fork auth -n auth-v2       # branch a conversation, keep the original\n```\n\nNo tmux. No dashboard. Your terminal tabs are the UI.\n\n---\n\n## The idea\n\nWhen you're running multiple Claude Code sessions in parallel, you lose track fast. Which tab is working on what? Did it finish? Is it waiting for input?\n\ncctabs solves this with a simple CLI that treats **terminal tabs as the unit of orchestration** — open them by name, read their output, send them prompts, fork them, close them. Everything stays in sync: the tab title, the Claude session name, and the working directory.\n\nThe killer feature: **Claude can run cctabs itself.** Install the skill and your Claude Code session can spawn parallel sibling sessions, monitor their output, and coordinate across them — without you switching tabs.\n\n## Install\n\n**As a Claude Code plugin** (recommended — installs the CLI + skill in one step):\n\nRun these slash commands inside a [Claude Code](https://claude.ai/code) session:\n\n```\n❯ /plugin marketplace add generativereality/plugins\n  ⎿  Successfully added marketplace: generativereality\n\n❯ /plugin install cctabs@generativereality\n  ⎿  ✓ Installed cctabs. Run /reload-plugins to activate.\n\n❯ /reload-plugins\n  ⎿  Reloaded: 1 plugin · 0 skills · 5 agents · 0 hooks · 0 plugin MCP servers · 0 plugin LSP servers\n```\n\n> **Note:** These are Claude Code slash commands, not shell commands. Type them at the `❯` prompt inside a Claude Code session.\n\n**Via npm** (CLI only, no Claude Code skill):\n\n```bash\nnpm install -g @generativereality/cctabs\n```\n\n**Skill only** (if you already have the CLI installed via npm):\n\n```bash\nmkdir -p .claude/skills\ncurl -fsSL https://codeload.github.com/generativereality/cctabs/tar.gz/main \\\n  | tar -xz --strip-components=2 -C .claude/skills cctabs-main/skills/cctabs\n```\n\nThat fetches the whole skill directory: `SKILL.md` plus the `references/` files it points to.\n\n**Requirements:** [Tabby](https://tabby.sh) · macOS · Node.js 20+\n\n**One-time:** install the companion plugin — run `cctabs install-tabby-plugin` from inside a Tabby tab, then restart Tabby.\n\n## Usage\n\n```\ncctabs sessions [--json]                 what's running (busy/waiting status + permission mode)\ncctabs list                              all workspaces, tabs, and blocks\ncctabs new <name> [dir] [-w workspace]   open tab, start claude\ncctabs new <name> [dir] -c <colour>      ...and colour its tab (also on resume/fork)\ncctabs new <name> [dir] --path <file>    ...or hand it a file to read (no truncation surface)\ncctabs new <name> [dir] -r <session-id>  open tab, resume an existing session by ID\ncctabs resume <name> [dir]               resume that session (reuses its tab, or opens one)\ncctabs fork <tab> [-n new-name]          fork a session into a new tab\ncctabs close <tab>                       close a tab\ncctabs rename <tab> <new-name>           rename a tab (+ on-disk title, so `resume` finds it)\ncctabs color <tab> <colour>              set or clear a tab's colour\ncctabs whoami [--json]                   which tab am I? (for self-attribution)\ncctabs sort [--dry] [--reverse]          reorder the tab bar by session activity (Tabby only)\ncctabs scrollback <tab> [lines]          read terminal output (default: 50 lines)\ncctabs send <tab> [text] [--wait-for-prompt]   send input — arg, --file, or stdin pipe\ncctabs restore [dir] [--dry]             bring back every tab that lost its session\ncctabs restore --manifest <file|-> [--create-missing]   ...or drive it from an explicit list\ncctabs manifest [-o file]                validated snapshot: one entry per session, this session left out\ncctabs restart [--all | --only a,b]      restart Claude in every tab, keeping each conversation (bare = plan)\ncctabs suspend <tab>                     stop Claude, keep the tab + its session as a placeholder\ncctabs wake <tab>                        wake a suspended tab (so do `resume`, Enter, or `send`)\ncctabs restore --manifest <f> -c --suspended   bring a whole fleet back asleep, in seconds\ncctabs profile-copy <tab> --to <preset>  copy/move a session into another Claude account\ncctabs backends                          list backend presets (providers / Claude accounts)\ncctabs config                            show config path and values\n```\n\nTab names match by prefix. Block IDs can be shortened to 8 chars. (`resume` and\n`restore` are the exception — deciding whether a session's tab already exists is\nexact-name only, so a longer-named neighbour can't be mistaken for it.)\n\n### Spin up a session fleet\n\n```bash\ncctabs sessions                 # check what's already running first\n\ncctabs new auth ~/Dev/myapp\ncctabs new payments ~/Dev/myapp\ncctabs new infra ~/Dev/myapp\n```\n\nEach tab gets named, Claude's session name syncs to the tab title via `--name`.\n\n### Send a prompt\n\n```bash\n# From a file (good for long context-heavy prompts)\ncctabs send auth --file ~/prompts/task.txt\n\n# Via stdin\necho \"focus on the edge cases in the OAuth flow\" | cctabs send auth\n\n# Quick reply or approval\ncctabs send auth \"yes\\n\"\ncctabs send auth \"/clear\\n\"\n```\n\n### Suspend the sessions you aren't using\n\n```bash\ncctabs suspend old-spike                              # Claude stops; the tab stays, named, knowing its session\ncctabs restore --manifest fleet.json -c --suspended   # a 60-tab fleet back in seconds, nothing running\ncctabs send old-spike \"pick this back up\"             # wakes it, waits for a ready prompt, then delivers\n```\n\nA suspended tab runs a tiny placeholder instead of Claude. It wakes on Enter,\non `cctabs wake`/`resume`, or when another tab `send`s to it — the sender never\nneeds to know it was asleep. The trade-off, stated plainly: **a suspended tab is\nnot on Remote Control** — it won't show on claude.ai or your phone until woken.\nThat is also what keeps the remote-control list down to the sessions you're\nactually using.\n\n### Check in without switching tabs\n\n```bash\ncctabs scrollback auth          # last 50 lines\ncctabs scrollback auth 200      # last 200 lines\n```\n\n### Resume a specific session in a new tab\n\n```bash\n# Useful when multiple sessions share the same dir — pass the exact session ID\ncctabs new auth ~/Dev/myapp -r 19aae7b4-1234-…\n\n# Combines with --worktree to resume inside an existing worktree\ncctabs new auth ~/Dev/myapp -W -r 19aae7b4-…\n```\n\n`cctabs resume <name>` is the right tool when there's only one session for a dir. Use `cctabs new ... --resume` when you need to disambiguate by session ID.\n\n### Migrate a fleet between terminals\n\n```bash\n# On the source terminal, dump everything as a manifest\ncctabs sessions --json > /tmp/fleet.json\n\n# On the destination terminal, attach to any existing tabs and spawn the rest\ncctabs restore --manifest /tmp/fleet.json --create-missing\n\n# Or pipe directly\ncctabs sessions --json | cctabs restore --manifest - --create-missing\n```\n\n### Move a session to another Claude account\n\n```bash\ncctabs profile-copy auth --to enterprise            # copy, source keeps running\ncctabs profile-copy auth --to enterprise --dry      # preview first\n```\n\n`CLAUDE_CONFIG_DIR` isolates each account's transcripts, so a session started\nunder one account is invisible to anything running under another. This copies the\ntranscript **and its sidecar** (the `<session-id>/` directory holding `subagents/`\nand `tool-results/` — sometimes hundreds of files) into the target profile, names\nthe copy distinctly, and opens it in a tab under that account.\n\nDefault is a copy, which diverges cleanly like `--fork-session`. `--move` removes\nthe source afterwards, but refuses while the source is still running: a `mv`\nwithin one filesystem is a rename, so the running `claude` follows the file and\nboth tabs interleave into one transcript. `--close-source` closes the tab, waits\nfor the process to actually exit, then moves — and sweeps the metadata trailer a\nclosing Claude writes back to the old path, which would otherwise shadow the\nsession it just moved.\n\nIf the session's original directory is gone (a deleted worktree, usually), the\ncopy is filed under the repo-root slug instead, because `claude --resume` fails\nwith `No conversation found with session ID` when a transcript sits under the slug\nof a directory that no longer exists.\n\n### Fork a session\n\n```bash\n# Try a different approach without losing the original conversation\ncctabs fork auth -n auth-v2\n```\n\nRuns `claude --resume <id> --fork-session` — new independent session, full shared context from the original.\n\n### Target a workspace\n\n```bash\ncctabs new api ~/Dev/myapp -w work\n```\n\n## Claude Code Skill\n\nThe real unlock: install the plugin (see [Install](#install)) so **Claude Code can run cctabs itself**.\n\nWith the skill installed, Claude can:\n\n- Check what's running before starting duplicate work (`cctabs sessions`)\n- Spawn a parallel session for an independent subtask (`cctabs new payments ~/Dev/myapp`)\n- Monitor siblings without interrupting them (`cctabs scrollback payments`)\n- Drop a prompt into any session (`cctabs send payments --file spec.txt`)\n- Fork its own session to explore an alternative approach (`cctabs fork auth`)\n\nClaude becomes the orchestrator of its own fleet.\n\n## Tip: pair with Claude Code Remote Control\n\nClaude Code's [Remote Control](https://docs.anthropic.com/en/docs/claude-code/remote-control) lets you access a local session from any device — phone, tablet, browser — via `claude.ai/code`. The session still runs on your machine, with full filesystem and tool access.\n\nPaired with cctabs, the pattern is:\n\n1. Start a **command session** with Remote Control enabled:\n   ```bash\n   claude --remote-control \"command\"\n   ```\n2. From your phone or browser, connect to that session and assign work:\n   > *\"Spawn three sessions — auth, payments, infra — and start them on these tasks...\"*\n3. The command session uses `cctabs` to open tabs, send prompts, and check in on workers\n4. You monitor and steer the whole fleet from your phone while the machine does the work\n\nOne remote-controlled session orchestrating a local fleet.\n\nSuspended tabs (`cctabs suspend`) are off Remote Control until woken — but the\ncommand session can still `cctabs send` to one, which wakes it.\n\n## Config\n\n```toml\n# ~/.config/cctabs/config.toml\n\n[claude]\n# Flags passed to every claude invocation\nflags = [\"--allow-dangerously-skip-permissions\"]\n\n[defaults]\n# Default workspace for new sessions (inert on Tabby, which has no workspaces)\n# workspace = \"\"\n\n# Colour every tab opened by new/resume/fork. One of blue, green, orange,\n# purple, red, yellow, none — or a hex value like \"#0275d8\". Overridden by a\n# backend preset's own `color`, and by `--color` on the command line.\n# color = \"\"\n\n# Backend presets: another model provider, or another Claude account entirely.\n# Launch with `cctabs new <name> [dir] -b client-x`; tabs spawned from inside\n# that session inherit it. Sessions started under a preset that sets its own\n# CLAUDE_CONFIG_DIR are still found by `resume`/`restore`, and come back under\n# that account automatically.\n[backends.client-x]\ndescription = \"Client X's Claude account\"\nenv_CLAUDE_CODE_OAUTH_TOKEN = \"sk-ant-oat-...\"\nenv_CLAUDE_CONFIG_DIR = \"/Users/you/.claude-client-x\"\n# Colour this account's tabs, so which account a tab belongs to is visible in\n# the tab bar rather than something you have to remember.\ncolor = \"blue\"\n```\n\n### Tab colours\n\n`--color` on `new`, `resume` and `fork` sets the Tabby tab colour; `cctabs color\n<tab> <colour>` changes one that already exists (including a tab `resume`\nreused rather than created). Named colours are Tabby's own palette — `blue`,\n`green`, `orange`, `purple`, `red`, `yellow`, plus `none` to clear — and hex\nvalues like `#0275d8` work too. The named ones map to the exact hex Tabby's\nright-click → **Color** menu uses, so a cctabs-set colour is indistinguishable\nfrom a hand-set one, radio button included.\n\nColours survive a reboot. Tabby persists them across its own restart, but\n`cctabs restore` *recreates* a dead tab rather than reviving it, so `restore`\nre-applies the colour — from the manifest, from the tab it is replacing, or\nfailing both from whatever the config implies for that session's account. So\n`[backends.enterprise] color = \"blue\"` plus `[defaults] color = \"orange\"` keeps\nholding across restarts without anything recorded per tab.\n\nColouring needs a `tabby-cctabs` build that advertises the `tab-color`\ncapability. Against an older plugin the colour is skipped with one warning and\nthe tab still opens — a cosmetic field is never worth failing a spawn over.\n\n## Terminal support\n\n| Terminal | Status |\n|----------|--------|\n| [Tabby](https://tabby.sh) | ✅ Full support (requires the [`tabby-cctabs`](./tabby-plugin/) companion plugin) |\n| [Wave Terminal](https://waveterm.dev) | ❌ Withdrawn in 0.5.0 |\n| iTerm2 | Planned |\n| Ghostty | Planned |\n| Warp | Planned |\n\nTabby is supported via a small companion plugin that exposes a localhost HTTP API the cctabs CLI talks to — install with `cctabs install-tabby-plugin`. Other terminals will follow as adapters — PRs welcome.\n\n**Wave Terminal was supported through 0.4.x and is not supported from 0.5.0 on.** It had reached the point where tabs would open but the Claude session inside them often never started. Running cctabs under Wave now exits with a message pointing at Tabby. Nothing is lost in the move: Claude sessions live in `~/.claude/projects`, not in the terminal, so once Tabby and its plugin are installed, `cctabs restore` reopens them by name.\n\n### Login shells on macOS\n\ncctabs-spawned tabs default to **login shells** (`zsh -l`, `bash -l`, etc.) so PATH is initialised the same way Tabby's UI-spawned tabs are. Without `-l`, macOS's `/etc/zprofile` doesn't run, `path_helper` doesn't populate `/usr/local/bin` and `/opt/homebrew/bin` from `/etc/paths`, and brand-new tabs are missing Node, Homebrew, and anything else that lives there. Symptoms: `env: node: No such file or directory` in Claude Code's Bash tool, plugin MCP servers failing to start with ENOENT when they shell out to `npx`, and cctabs CLI itself failing inside the tab it just spawned. See [Tabby issue #2](https://github.com/Eugeny/tabby/issues/2) for the historical context. Pass an explicit `args` array (including `[]`) when calling the `/tabs` endpoint if you need a non-login shell.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}