Allow opting out of auto-update and of the automatic `bl skill init` after updates
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 63/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- nodejs, typescript
- Domain
- cli, developer-experience, tooling
Research direction
Start with packages/runtime/src/utils/update-checker.ts and packages/core/src/config/loader.ts to trace automatic updates and persistent settings, then inspect packages/commands/src/commands/update.ts and the bl skill init entry point. Verify the two switches independently prevent implicit npm updates and skill synchronization while preserving the update notice and explicit skill initialization behavior.
Written by the indexing model from the issue text.
Description
bl currently self-updates silently and then unconditionally re-runs bl skill init, with no persistent way to opt out of either step.
What happens
- Any command (e.g. a scheduled
bl usage token-plan) triggersshouldAutoUpdate()when the installed version is a major behind, or more than 3 minors behind (packages/runtime/src/utils/update-checker.ts). It then runsnpm install -g bailian-cli@latestin the middle of the user's command. - On success,
syncAgentSkillsAfterUpdate()runsbl skill init, which symlinks everybailian-*skill into every detected agent directory (~/.claude/skills,~/.codex/skills,~/.config/opencode/skills,~/.pi/agent/skills,~/.agents/skills, …).bl updatedoes the same viaupdateAgentSkill()(packages/commands/src/commands/update.ts). - The only gate is
ctx.settings.quiet, which comes from the per-invocation--quietflag and is not aconfig.jsonkey (packages/core/src/config/loader.ts), so it cannot be made persistent.bl skill inititself has no flags to limit targets.
Why this is a problem
Users who manage their agent skill directories elsewhere (dotfiles, a config-as-code repo) have their removals silently reverted on the next update. In my case 10 skills I had removed came back into five agent homes because a cron-style quota probe happened to run after 1.24.0 was published (telemetry: skill init at 2026-09-11T13:48:04Z, cliVersion 1.24.0, immediately after an in-flight 1.20.0 usage token-plan).
Request
Two independent, persistent switches (config.json key and/or env var), e.g.:
BAILIAN_AUTO_UPDATE=0/"auto_update": false— never runnpm install -gimplicitly; only print the "update available" notice.BAILIAN_SKILL_SYNC=0/"skill_sync": false— never runbl skill initimplicitly after an update (both the auto path andbl update).
Optionally, bl skill init --agent <list> so the sync can be scoped even when enabled.
Environment: bl 1.24.0, npm global install, macOS 26.6, node v26.8.2.
- Dominant language
- TypeScript
- Stars
- 333
- Forks
- 28
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 33
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from modelstudioai/cli
-
Difficulty 3/5 1-2 days Newbie friendliness 72/100
modelstudioai/cli#211 ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
modelstudioai/cli#202 · 1 comment · 1 reaction ·
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
modelstudioai/cli#195 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
modelstudioai/cli#190 · 1 comment ·
-
Difficulty 3/5 1-2 days Newbie friendliness 74/100
modelstudioai/cli#131 ·
All issues in modelstudioai/cli
Similar issues
-
clawsweeper:linked-pr-open clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:message-loss issue-rating: 🦞 diamond lobster maturity:stable P2
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#616 ·
-
ZCode 3.14.3 に対応する Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
supermomonga/zcode-acp#24 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
growthbook/growthbook#7100 ·
-
triage
Difficulty 1/5 1-3 hours Newbie friendliness 88/100