{"_id":"@andrewtjin/cctl","_rev":"13-05e270a67d32e154073352174cfa2c6d","name":"@andrewtjin/cctl","dist-tags":{"latest":"0.5.1"},"versions":{"0.1.0":{"name":"@andrewtjin/cctl","version":"0.1.0","license":"MIT","_id":"@andrewtjin/cctl@0.1.0","maintainers":[{"name":"hyper-o","email":"andrewtjin.29@gmail.com"}],"homepage":"https://github.com/andrewtjin/claude-control#readme","bugs":{"url":"https://github.com/andrewtjin/claude-control/issues"},"bin":{"cctl":"dist/bin.js"},"dist":{"shasum":"d46c31a5c39b908b867b76c36774c299c7c4108f","tarball":"https://registry.npmjs.org/@andrewtjin/cctl/-/cctl-0.1.0.tgz","fileCount":4,"integrity":"sha512-PbT1JFdLPxDD3LpGEQhW6uOmvmT86lrngueuzm4f2ck34wyWUATE2sGGSBNJHjuAwU3KCUEss2bDErfGP4CRtA==","signatures":[{"sig":"MEYCIQDgh7JM5QYQDr8CeL44GJa6T8psqniC9lwj/mWtIEaIdAIhAIpHsEeDSE34ve+FYu7mva7l91eRQXYwDhDprF9q5Fv7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1874963},"type":"module","engines":{"node":">=22.13.0"},"gitHead":"b6dcf297d4547be2b5bcae65554a768ecdb37f17","private":false,"scripts":{"build":"node scripts/build.mjs","smoke-test":"node scripts/smoke-test.mjs","prepublishOnly":"node scripts/build.mjs && node scripts/smoke-test.mjs"},"_npmUser":{"name":"hyper-o","email":"andrewtjin.29@gmail.com"},"repository":{"url":"git+https://github.com/andrewtjin/claude-control.git","type":"git","directory":"packages/cctl-publish"},"_npmVersion":"11.17.0","description":"cctl — switch Claude Code accounts, see cross-account usage, and drive sessions from your phone.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/cctl_0.1.0_1784740585571_0.6192498150149748","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@andrewtjin/cctl","version":"0.2.0","license":"MIT","_id":"@andrewtjin/cctl@0.2.0","maintainers":[{"name":"hyper-o","email":"andrewtjin.29@gmail.com"}],"homepage":"https://github.com/andrewtjin/claude-control#readme","bugs":{"url":"https://github.com/andrewtjin/claude-control/issues"},"bin":{"cctl":"dist/bin.js"},"dist":{"shasum":"e08e6d35798c61065d37127dfc2f42f100dd22db","tarball":"https://registry.npmjs.org/@andrewtjin/cctl/-/cctl-0.2.0.tgz","fileCount":4,"integrity":"sha512-093PNQCODnipRJS2iHQ+O7HMPAX4OnwrfgyPmlykw9nmyh2288UAy203py0TfwL+TOk7hhmqr0C3vVga/lutFw==","signatures":[{"sig":"MEUCIH0MxByI14DBW/7CZRv+qwnJk23PYCt5nviDP1no2CoXAiEAvXo01Kv6HVaQnxJR5IEEwxRH+liN9tTmo1YSFbwqqLY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1879528},"type":"module","engines":{"node":">=22.13.0"},"gitHead":"161c90bce86a865ea45acf3fbe7bd99b4dbe4a8b","private":false,"scripts":{"build":"node scripts/build.mjs","smoke-test":"node scripts/smoke-test.mjs","prepublishOnly":"node scripts/build.mjs && node scripts/smoke-test.mjs"},"_npmUser":{"name":"hyper-o","email":"andrewtjin.29@gmail.com"},"repository":{"url":"git+https://github.com/andrewtjin/claude-control.git","type":"git","directory":"packages/cctl-publish"},"_npmVersion":"11.17.0","description":"cctl — switch Claude Code accounts, see cross-account usage, and drive sessions from your phone.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/cctl_0.2.0_1784947618592_0.43928961477993456","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@andrewtjin/cctl","version":"0.2.1","license":"MIT","_id":"@andrewtjin/cctl@0.2.1","maintainers":[{"name":"hyper-o","email":"andrewtjin.29@gmail.com"}],"homepage":"https://github.com/andrewtjin/claude-control#readme","bugs":{"url":"https://github.com/andrewtjin/claude-control/issues"},"bin":{"cctl":"dist/bin.js"},"dist":{"shasum":"e8417ecd86497bc4ec216bcd56c3ed5b951becb4","tarball":"https://registry.npmjs.org/@andrewtjin/cctl/-/cctl-0.2.1.tgz","fileCount":4,"integrity":"sha512-P7gMjtI4EbGpwMV2EHKGNzmouTpG31xBdNpDwh0Y2Sk4OtdpivoV4WKoXaQRoM4gnPXExfwVMQ4QUlAA1JFbNQ==","signatures":[{"sig":"MEYCIQCsvni0qN4LBx0/fY81B+KrRWGBEq9/RWOSThP0DepKygIhAKZu5Bk0eK+Hyh318G2k57+kKVO2qcQvTPLY2sPleAMA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1907753},"type":"module","engines":{"node":">=22.13.0"},"gitHead":"5ee901f9af77d401c600a9dbdba78fdedc853305","private":false,"scripts":{"build":"node scripts/build.mjs","smoke-test":"node scripts/smoke-test.mjs","prepublishOnly":"pnpm -w run build && node scripts/build.mjs && node scripts/smoke-test.mjs"},"_npmUser":{"name":"hyper-o","email":"andrewtjin.29@gmail.com"},"repository":{"url":"git+https://github.com/andrewtjin/claude-control.git","type":"git","directory":"packages/cctl-publish"},"_npmVersion":"11.17.0","description":"cctl — switch Claude Code accounts, see cross-account usage, and drive sessions from your phone.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/cctl_0.2.1_1784996059770_0.6918681248132303","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@andrewtjin/cctl","version":"0.3.0","license":"MIT","_id":"@andrewtjin/cctl@0.3.0","maintainers":[{"name":"hyper-o","email":"andrewtjin.29@gmail.com"}],"homepage":"https://github.com/andrewtjin/claude-control#readme","bugs":{"url":"https://github.com/andrewtjin/claude-control/issues"},"bin":{"cctl":"dist/bin.js"},"dist":{"shasum":"5c1c4d5e1d39797c33ab93226b00d427018f2e25","tarball":"https://registry.npmjs.org/@andrewtjin/cctl/-/cctl-0.3.0.tgz","fileCount":4,"integrity":"sha512-dEeIri6DxtqgV1z+2CchRBYTMnrbKW+BHAoslyLSJTgxrp4EpSKK0tO9AolJVYjlKq2T8TNQiz8fl8BVlFVRYQ==","signatures":[{"sig":"MEUCIQC4XvXRmd8gUVD69IV78mGhAIyEd6TBDI2gFaxu+vzOTQIgEw1FsRE7eTMmoD7wrgxLqtteL1FAfrK2gqmSA+6n/BY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andrewtjin%2fcctl@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":972753},"type":"module","engines":{"node":">=22.13.0"},"gitHead":"7ffbdcba7f506f209160cd9864d81869bcc2fee3","private":false,"scripts":{"build":"node scripts/build.mjs","smoke-test":"node scripts/smoke-test.mjs","prepublishOnly":"pnpm -w run build && node scripts/build.mjs && node scripts/smoke-test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e25e54d-d2cc-450d-977f-bc857395ecd7"}},"repository":{"url":"git+https://github.com/andrewtjin/claude-control.git","type":"git","directory":"packages/cctl-publish"},"_npmVersion":"12.0.1","description":"cctl — switch Claude Code accounts, see cross-account usage, and drive sessions from your phone.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@anthropic-ai/claude-agent-sdk":"^0.3.211"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/cctl_0.3.0_1785195858339_0.901481467079621","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@andrewtjin/cctl","version":"0.4.0","license":"MIT","_id":"@andrewtjin/cctl@0.4.0","maintainers":[{"name":"hyper-o","email":"andrewtjin.29@gmail.com"}],"homepage":"https://github.com/andrewtjin/claude-control#readme","bugs":{"url":"https://github.com/andrewtjin/claude-control/issues"},"bin":{"cctl":"dist/bin.js"},"dist":{"shasum":"08dd87bbddf901d0f86698875fc686a11920820c","tarball":"https://registry.npmjs.org/@andrewtjin/cctl/-/cctl-0.4.0.tgz","fileCount":4,"integrity":"sha512-IsMKGPp6+L2xSWFr4WscxCBgUNMcdObWvtbcmNwORYFnSdJ03uB2T3kIq6wZYnOUk0TTJJ3prD9y5keBj3PA8A==","signatures":[{"sig":"MEUCIGnyU7lyvvqFVoUOjyOUatd6WNaFx4w18GQGX+FN2G9XAiEAqLl38CxGyyHm8I616Y2KfptcxLHpKymgErexPESc23Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andrewtjin%2fcctl@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":984592},"type":"module","engines":{"node":">=22.13.0"},"gitHead":"b020a443c7c03b3340138d4c94bd4c26b6b39fc3","private":false,"scripts":{"build":"node scripts/build.mjs","smoke-test":"node scripts/smoke-test.mjs","prepublishOnly":"pnpm -w run build && node scripts/build.mjs && node scripts/smoke-test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e25e54d-d2cc-450d-977f-bc857395ecd7"}},"repository":{"url":"git+https://github.com/andrewtjin/claude-control.git","type":"git","directory":"packages/cctl-publish"},"_npmVersion":"12.0.1","description":"cctl — switch Claude Code accounts, see cross-account usage, and drive sessions from your phone.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@anthropic-ai/claude-agent-sdk":"^0.3.211"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/cctl_0.4.0_1785239275777_0.6850593409159293","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@andrewtjin/cctl","version":"0.4.1","license":"MIT","_id":"@andrewtjin/cctl@0.4.1","maintainers":[{"name":"hyper-o","email":"andrewtjin.29@gmail.com"}],"homepage":"https://github.com/andrewtjin/claude-control#readme","bugs":{"url":"https://github.com/andrewtjin/claude-control/issues"},"bin":{"cctl":"dist/bin.js"},"dist":{"shasum":"060cefe70b2169dfcdc306ef2640ca21cf167577","tarball":"https://registry.npmjs.org/@andrewtjin/cctl/-/cctl-0.4.1.tgz","fileCount":4,"integrity":"sha512-uTBciLpPJM5/t/LbCm6f8V7RLwNyFzvJmyz4k4lW/o7bDgylHldnFaPPc9jwcJzR4r6sw36iohx5ZNAcH/WEdA==","signatures":[{"sig":"MEQCIA6b1VXOCudyItvnyjq7K+HkwXFwCbKRXHso+JLqFme8AiAakVPrQe4GroIJhrm4birlNkXrv0e/o8qPrAjVeZHsBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andrewtjin%2fcctl@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":995398},"type":"module","engines":{"node":">=22.13.0"},"gitHead":"3e508338fedcb26b1a0e436c821a66ba1440fee9","private":false,"scripts":{"build":"node scripts/build.mjs","smoke-test":"node scripts/smoke-test.mjs","prepublishOnly":"pnpm -w run build && node scripts/build.mjs && node scripts/smoke-test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e25e54d-d2cc-450d-977f-bc857395ecd7"}},"repository":{"url":"git+https://github.com/andrewtjin/claude-control.git","type":"git","directory":"packages/cctl-publish"},"_npmVersion":"12.0.2","description":"cctl — switch Claude Code accounts, see cross-account usage, and drive sessions from your phone.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@anthropic-ai/claude-agent-sdk":"^0.3.211"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/cctl_0.4.1_1787727338220_0.6547166611767576","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@andrewtjin/cctl","version":"0.4.2","license":"MIT","_id":"@andrewtjin/cctl@0.4.2","maintainers":[{"name":"hyper-o","email":"andrewtjin.29@gmail.com"}],"homepage":"https://github.com/andrewtjin/claude-control#readme","bugs":{"url":"https://github.com/andrewtjin/claude-control/issues"},"bin":{"cctl":"dist/bin.js"},"dist":{"shasum":"00e0ae1bd771262cdd9cce959ab6d28c899b4e1e","tarball":"https://registry.npmjs.org/@andrewtjin/cctl/-/cctl-0.4.2.tgz","fileCount":4,"integrity":"sha512-zE2NNzqvhGKymWTeFRPzXRv9I6rMmz2LAOWfVTu7w8DRRFYgQjK6yC53D30OIHd9fR99Rcs6qjzGkIqgqf7U+w==","signatures":[{"sig":"MEQCIGK5aOu5JhS/geV63m66SWOFsZ7TODJvXEj7w5f/AHfVAiAwQGV8ge9vN1HdMwWcYjxygXNKRG1fnKeb/A5E6H4H9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andrewtjin%2fcctl@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":996306},"type":"module","engines":{"node":">=22.13.0"},"gitHead":"24369024326f4e7259e933f089774008e4249581","private":false,"scripts":{"build":"node scripts/build.mjs","smoke-test":"node scripts/smoke-test.mjs","prepublishOnly":"pnpm -w run build && node scripts/build.mjs && node scripts/smoke-test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e25e54d-d2cc-450d-977f-bc857395ecd7"}},"repository":{"url":"git+https://github.com/andrewtjin/claude-control.git","type":"git","directory":"packages/cctl-publish"},"_npmVersion":"12.0.2","description":"cctl — switch Claude Code accounts, see cross-account usage, and drive sessions from your phone.","directories":{},"_nodeVersion":"24.19.0","dependencies":{"@anthropic-ai/claude-agent-sdk":"^0.3.211"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/cctl_0.4.2_1787743866255_0.23787367252755343","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@andrewtjin/cctl","version":"0.4.3","license":"MIT","_id":"@andrewtjin/cctl@0.4.3","maintainers":[{"name":"hyper-o","email":"andrewtjin.29@gmail.com"}],"homepage":"https://github.com/andrewtjin/claude-control#readme","bugs":{"url":"https://github.com/andrewtjin/claude-control/issues"},"bin":{"cctl":"dist/bin.js"},"dist":{"shasum":"eafd9d48869a41708b6dedf5d3e39a639f0283cd","tarball":"https://registry.npmjs.org/@andrewtjin/cctl/-/cctl-0.4.3.tgz","fileCount":4,"integrity":"sha512-oUFlZNEk3nvSH6ulJk2HHiPC3jxR8e+H+jHoMEwqt30jTmsbUAJ6ZPGpkzBbj/CU98t2mTRaLaifgLc00GKUEQ==","signatures":[{"sig":"MEYCIQDRVEPF0fe1Dcm/jJtCpE8cMaTvHgqmwgv8gU+T1AjXQQIhAKWa4WyeBf9qmMTFXxXFj2BaHc77qxDzBiH+yFW3qUAF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDdO055X8reR6StRC2JUmElqZmD2f6BPNUEyl7b5cG5BwIgK7juIZkAyv8PC3hR/nq1CdGBCmP52F1Uo38C10efxmg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andrewtjin%2fcctl@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":999333},"type":"module","engines":{"node":">=22.13.0"},"gitHead":"699da1033937b3e6652dfbfc666c0779fb2522bc","private":false,"scripts":{"build":"node scripts/build.mjs","smoke-test":"node scripts/smoke-test.mjs","prepublishOnly":"pnpm -w run build && node scripts/build.mjs && node scripts/smoke-test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e25e54d-d2cc-450d-977f-bc857395ecd7"}},"repository":{"url":"git+https://github.com/andrewtjin/claude-control.git","type":"git","directory":"packages/cctl-publish"},"_npmVersion":"12.0.2","description":"cctl — switch Claude Code accounts, see cross-account usage, and drive sessions from your phone.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@anthropic-ai/claude-agent-sdk":"^0.3.211"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/cctl_0.4.3_1788848099487_0.9566538184383617","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@andrewtjin/cctl","version":"0.4.4","license":"MIT","_id":"@andrewtjin/cctl@0.4.4","maintainers":[{"name":"hyper-o","email":"andrewtjin.29@gmail.com"}],"homepage":"https://github.com/andrewtjin/claude-control#readme","bugs":{"url":"https://github.com/andrewtjin/claude-control/issues"},"bin":{"cctl":"dist/bin.js"},"dist":{"shasum":"6a9bf8d371f5f8492f088e49c3869b58c2951aed","tarball":"https://registry.npmjs.org/@andrewtjin/cctl/-/cctl-0.4.4.tgz","fileCount":4,"integrity":"sha512-8oH9IGa6vf0E9NkXt2tSavyXTbCAV9WCN4Y0wctID/B6vQRw2nVnzcMeDw21Jxb/BBeha6BOhwDCGQwqYUOyNw==","signatures":[{"sig":"MEUCIHJx5soz8ff8uzGu/7r7/oivabX9rX7xfVu3haIAixHnAiEAiFGtxTgds73M9tOdfN5gU/NWAk0xA+pLuNFyU0qUlSo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB/5pK0+UVXCFqtU+sgRuCtVvRuADb3dMsyxqhxZMl6cAiEAoWbTNYQlg/QyO6n1XgmAZeOIOsDpJa8Q24rakWm9uZw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andrewtjin%2fcctl@0.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1011719},"type":"module","engines":{"node":">=22.13.0"},"gitHead":"81b8b4d592af0d16bb6cfce5fd13e651aa3e49d5","private":false,"scripts":{"build":"node scripts/build.mjs","smoke-test":"node scripts/smoke-test.mjs","prepublishOnly":"pnpm -w run build && node scripts/build.mjs && node scripts/smoke-test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e25e54d-d2cc-450d-977f-bc857395ecd7"}},"repository":{"url":"git+https://github.com/andrewtjin/claude-control.git","type":"git","directory":"packages/cctl-publish"},"_npmVersion":"12.0.2","description":"cctl — switch Claude Code accounts, see cross-account usage, and drive sessions from your phone.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@anthropic-ai/claude-agent-sdk":"^0.3.211"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/cctl_0.4.4_1788997436197_0.5433191644682374","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@andrewtjin/cctl","version":"0.4.5","license":"MIT","_id":"@andrewtjin/cctl@0.4.5","maintainers":[{"name":"hyper-o","email":"andrewtjin.29@gmail.com"}],"homepage":"https://github.com/andrewtjin/claude-control#readme","bugs":{"url":"https://github.com/andrewtjin/claude-control/issues"},"bin":{"cctl":"dist/bin.js"},"dist":{"shasum":"f32f2026568a3808bea6566ebdf6d6df02cb604e","tarball":"https://registry.npmjs.org/@andrewtjin/cctl/-/cctl-0.4.5.tgz","fileCount":4,"integrity":"sha512-13acromceg3hUPG7329QzlzIN8Qm02JPCwhOsBE/xX/svBeICMe/FmGPBwdNQkceU+cQ0TIb1ZING2bEiiPhWQ==","signatures":[{"sig":"MEUCIB5WJ8fXXr8sGj1J2/6M8RjlD3C7ToJ9ctftILc1vm3fAiEA7ARPmkzrE00lUN+dqfSszPEND4UA4GxAw7d/keKeU+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCTanUc1FeHvk1EkNMXBMoXvPLWAqb4LXhXpsvbOA12bwIgYNYrE0Cw2VKatjP9I1a7KCfhGRVMtI3cAIvUBMtrZIg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andrewtjin%2fcctl@0.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1012569},"type":"module","engines":{"node":">=22.13.0"},"gitHead":"539a1b18ae651fbf253ebdc92eb86a27310a0c7f","private":false,"scripts":{"build":"node scripts/build.mjs","smoke-test":"node scripts/smoke-test.mjs","prepublishOnly":"pnpm -w run build && node scripts/build.mjs && node scripts/smoke-test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e25e54d-d2cc-450d-977f-bc857395ecd7"}},"repository":{"url":"git+https://github.com/andrewtjin/claude-control.git","type":"git","directory":"packages/cctl-publish"},"_npmVersion":"12.0.2","description":"cctl — switch Claude Code accounts, see cross-account usage, and drive sessions from your phone.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@anthropic-ai/claude-agent-sdk":"^0.3.211"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/cctl_0.4.5_1788999236137_0.9146055948614673","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@andrewtjin/cctl","version":"0.4.6","license":"MIT","_id":"@andrewtjin/cctl@0.4.6","maintainers":[{"name":"hyper-o","email":"andrewtjin.29@gmail.com"}],"homepage":"https://github.com/andrewtjin/claude-control#readme","bugs":{"url":"https://github.com/andrewtjin/claude-control/issues"},"bin":{"cctl":"dist/bin.js"},"dist":{"shasum":"e9cfb21db28e64c2cc7929c60576ddb42bda0d83","tarball":"https://registry.npmjs.org/@andrewtjin/cctl/-/cctl-0.4.6.tgz","fileCount":4,"integrity":"sha512-LbhsXWF57VoVOwCRx33R8jkOOCI5YpbOGl/Jb9iFW+fMJ4olTE9sLG9BUpmoC2CwH2poK0WtSSWPLJPbZNT9uA==","signatures":[{"sig":"MEUCIFZZd8cneeYhKxY8iYgaisDQCHmzmETumqGQI6Utu2EHAiEArhSo8ZQpD09zuXxL+/+va0NHARaHC5D6JP1k9g+ELL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCvbsJDx4j4iktqMXaYKA8pZPBabuDtSd7OyGSgYgmm0gIgEomEzZo4z6koYQYuWvlHYRfDqgn1Svmw0f5BRVrfJEE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andrewtjin%2fcctl@0.4.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1033963},"type":"module","engines":{"node":">=22.13.0"},"gitHead":"ced1170016880833dcbb7bffb36d1d9ebe349d21","private":false,"scripts":{"build":"node scripts/build.mjs","smoke-test":"node scripts/smoke-test.mjs","prepublishOnly":"pnpm -w run build && node scripts/build.mjs && node scripts/smoke-test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e25e54d-d2cc-450d-977f-bc857395ecd7"}},"repository":{"url":"git+https://github.com/andrewtjin/claude-control.git","type":"git","directory":"packages/cctl-publish"},"_npmVersion":"12.0.2","description":"cctl — switch Claude Code accounts, see cross-account usage, and drive sessions from your phone.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@anthropic-ai/claude-agent-sdk":"^0.3.211"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/cctl_0.4.6_1789415804171_0.48065595576154596","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@andrewtjin/cctl","version":"0.5.0","license":"MIT","_id":"@andrewtjin/cctl@0.5.0","maintainers":[{"name":"hyper-o","email":"andrewtjin.29@gmail.com"}],"homepage":"https://github.com/andrewtjin/claude-control#readme","bugs":{"url":"https://github.com/andrewtjin/claude-control/issues"},"bin":{"cctl":"dist/bin.js"},"dist":{"shasum":"371dea4e0716381ffa910d4a51c9d2ac3dfee7c0","tarball":"https://registry.npmjs.org/@andrewtjin/cctl/-/cctl-0.5.0.tgz","fileCount":4,"integrity":"sha512-aA4gNcLoZeHMKn16VROieXtN+wuXvVfZPQgYuxgiWLtpEubIbiXnmhgjeyWZItWyx7VAdmFcS9vAOtdY6svgSw==","signatures":[{"sig":"MEYCIQDRiwZjMdnr4dIIGtJOLXG7zV1klF/wAvER2FeMq62luwIhALIfN9rJdJAW/pKHfheKpUO3uit6WBH+IYbWpXf5BYut","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDjOUV66Jq03c2TjtU5I2g2hHne4v74OWzNdx7Iu86wnwIhALPiJ78eDIkPZdGciPA5IC+E/lNcU8JIyGzsPVmyPH3z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andrewtjin%2fcctl@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1302295},"type":"module","engines":{"node":">=22.13.0"},"gitHead":"8fefe7cc3f44c9d7c0d47e22efbf201fc94ff484","private":false,"scripts":{"build":"node scripts/build.mjs","smoke-test":"node scripts/smoke-test.mjs","prepublishOnly":"pnpm -w run build && node scripts/build.mjs && node scripts/smoke-test.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e25e54d-d2cc-450d-977f-bc857395ecd7"}},"repository":{"url":"git+https://github.com/andrewtjin/claude-control.git","type":"git","directory":"packages/cctl-publish"},"_npmVersion":"12.0.2","description":"cctl — switch Claude Code accounts, see cross-account usage, and drive sessions from your phone.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@anthropic-ai/claude-agent-sdk":"^0.3.211"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"tmp":"tmp/cctl_0.5.0_1789537323126_0.6581955925573808","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"_id":"@andrewtjin/cctl@0.5.1","bin":{"cctl":"dist/bin.js"},"bugs":{"url":"https://github.com/andrewtjin/claude-control/issues"},"dist":{"shasum":"a3565b49c0a115163d89ef7c83d19a0006d25670","tarball":"https://registry.npmjs.org/@andrewtjin/cctl/-/cctl-0.5.1.tgz","fileCount":4,"integrity":"sha512-mjXC2Eee6liMoWJ6pWstEEa5+u8hBhWAQoem4cuyPYnQYPOmAfts3G7WicMX85KlpPvczmEnKDpKvHL0C+o+3A==","signatures":[{"sig":"MEQCIDDDTlkFhvAP1o5LKfy9neBZk0VVWbirv10iB38hIf2TAiA4omxiBHCSzZTxtKq7apPg/sAxuwcAz5SiEEZE0YPY+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB7jvJfOElQ948tRZBuFjLeEwug7meXkdHAoPOC4M0suAiA5dka4lLD9GAXWASDwomAa0aLk4xatkNdEKHuBlduD0Q=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@andrewtjin%2fcctl@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1351028},"name":"@andrewtjin/cctl","type":"module","engines":{"node":">=22.13.0"},"gitHead":"bdb77a2d209a97aadc9ab0218b57add3b31c3539","license":"MIT","private":false,"scripts":{"build":"node scripts/build.mjs","smoke-test":"node scripts/smoke-test.mjs","prepublishOnly":"pnpm -w run build && node scripts/build.mjs && node scripts/smoke-test.mjs"},"version":"0.5.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3e25e54d-d2cc-450d-977f-bc857395ecd7"}},"homepage":"https://github.com/andrewtjin/claude-control#readme","repository":{"url":"git+https://github.com/andrewtjin/claude-control.git","type":"git","directory":"packages/cctl-publish"},"_npmVersion":"12.0.2","description":"cctl — switch Claude Code accounts, see cross-account usage, and drive sessions from your phone.","directories":{},"maintainers":[{"name":"hyper-o","email":"andrewtjin.29@gmail.com"}],"_nodeVersion":"24.20.0","dependencies":{"@anthropic-ai/claude-agent-sdk":"^0.3.211"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.28.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cctl_0.5.1_1789779956568_0.601826373613815"}}},"time":{"created":"2026-07-22T17:16:25.386Z","modified":"2026-09-19T01:05:57.156Z","0.1.0":"2026-07-22T17:16:25.730Z","0.2.0":"2026-07-25T02:46:58.780Z","0.2.1":"2026-07-25T16:14:19.956Z","0.3.0":"2026-07-27T23:44:18.541Z","0.4.0":"2026-07-28T11:47:55.889Z","0.4.1":"2026-08-26T06:55:38.360Z","0.4.2":"2026-08-26T11:31:06.404Z","0.4.3":"2026-09-08T06:14:59.635Z","0.4.4":"2026-09-09T23:43:56.288Z","0.4.5":"2026-09-10T00:13:56.256Z","0.4.6":"2026-09-14T19:56:44.261Z","0.5.0":"2026-09-16T05:42:03.227Z","0.5.1":"2026-09-19T01:05:56.646Z"},"bugs":{"url":"https://github.com/andrewtjin/claude-control/issues"},"license":"MIT","homepage":"https://github.com/andrewtjin/claude-control#readme","repository":{"url":"git+https://github.com/andrewtjin/claude-control.git","type":"git","directory":"packages/cctl-publish"},"description":"cctl — switch Claude Code accounts, see cross-account usage, and drive sessions from your phone.","maintainers":[{"name":"hyper-o","email":"andrewtjin.29@gmail.com"}],"readme":"# @andrewtjin/cctl\n\n**Stop losing sessions to Claude Code usage limits.** If you hold several\nsubscriptions, quota you don't spend before it resets is gone for good, and the\naccount you're sitting in is rarely the one about to expire. `cctl` spends the\nbudget expiring soonest, hops accounts before the active one hits its wall, and\nkeeps your phone link alive across the hop.\n\n## Quick start\n\n### Bot setup\n\nFirst, [add the cctl bot to a Discord server you're in](https://discord.com/oauth2/authorize?client_id=1527387188772208790&permissions=395137109056&scope=bot+applications.commands).\nWith no server at all, [add it to just your account](https://discord.com/oauth2/authorize?client_id=1527387188772208790&integration_type=1&scope=applications.commands)\nand DM it. Either way is where `/pair` mints your pairing code and where\nnotifications reach you.\n\n- For non-bot setups, see [Local-only](#local-only-no-discord) below.\n\n### Daemon setup\n\nNext, run:\n\n```bash\nnpm i -g @andrewtjin/cctl\ncctl setup\n```\n\n`cctl setup` runs a guided first-run wizard: it checks your environment, captures\nyour current Claude login, installs the usage-tracking hooks, pairs this machine\nwith the shared Discord bot, and registers a logon task so the daemon starts\nautomatically (a Windows logon task — registered from inside WSL too — a macOS\nLaunchAgent, or a Linux systemd user unit; see `docs/PLATFORM.md`).\n\n## What it does\n\n- **Burns the expiring budget first.** Weekly quota is the only scarcity that\n  truly evaporates. A 5-hour window resets and hands the same capacity back. One\n  line tells you which account to use now, and why.\n- **Switches before you hit the wall.** When the active account runs low, the\n  daemon moves to an account with real headroom on its own. Or, manually switch\n  from your phone.\n- **Approve from anywhere.** Permission prompts and \"done / waiting\" notices\n  reach Discord; approve or deny from there.\n- **Answer Claude's questions from your phone.** When a session asks you to\n  choose, the Discord card carries a select menu per question, multi-select and a\n  free-text \"Other…\" included. Your answers land back in the running session.\n\nYour credentials never leave your machine: the daemon holds them locally, and the\nshared bot is a credential-free control plane that persists no session content. It\ndoes relay the commands, tool output, and prompts your phone cards are built from,\nso if you'd rather no shared operator see that, self-host it.\n\n## Local-only (no Discord)\n\nDiscord is optional. Skip pairing in the wizard and everything works from the CLI\nalone (usage, burn advice, manual and automatic switching). Pair later with\n`cctl setup --reconfigure`.\n\n## Platform\n\n**Windows and Linux (including WSL2) v0.5.1.** macOS is at a very early stage:\nthe Keychain vault and switch paths ship and are unit-tested, but they have not\nbeen exercised on real Mac hardware, so treat macOS as experimental rather than\nsupported.\n\n## Docs\n\nSee the [project README](https://github.com/andrewtjin/claude-control#readme) for\nthe full command reference, the architecture, and the self-host path.\n\n## About this package\n\nThis package is a single-file bundle of the `cctl` CLI, built from the\n[claude-control](https://github.com/andrewtjin/claude-control) monorepo\n(`packages/cli`). It has no source of its own.\n\nInstalling it also pulls in `@anthropic-ai/claude-agent-sdk` and, through it, the\nClaude Code binary for your platform (~250MB). That binary is what a remote\nsession actually runs. Installing with `--omit=optional` skips it, and `/run`\nwill fail with \"Native CLI binary for \\<platform>-\\<arch> not found. Reinstall\n@anthropic-ai/claude-agent-sdk without --omit=optional, or set\noptions.pathToClaudeCodeExecutable.\" while every other command still works;\n`cctl doctor`'s `session-runtime` check reports the same gap in its own words:\n\"no Claude Code binary found — install \\<package> (a `--omit=optional` install\nskips it; reinstall cctl without that flag)\".\n\n## License\n\nMIT. See [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}