Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[bug] --config <profile> silently ignores stored credentials; exits 0 unauthenticated

オープン
#229 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
68/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
node.js, typescript
領域
cli

調査の方向性

Start by tracing the CLI's global --config option handling and the profile-loading path used by config show and auth status. Reproduce with a stored, non-active profile, then verify the commands load its credentials or fail with a non-zero error instead of printing generic output and exiting 0.

索引モデルが issue の本文から書いたものです。

説明

Environment

  • CLI: bl 2.0.1
  • Skill: 2.0.1
  • Node: v26.9.0
  • OS: macOS 26.6.2 (Darwin 25.6.0, arm64)
  • Region: intl (ap-southeast-1)

Reproduce

# Precondition: profile "token-plan" is stored in ~/.bailian/config.json with
# api_key, base_url, workspace_id and a console token, but is NOT the active profile.

# 1. Address it with the documented --config global flag
bl --config token-plan config show
bl --config token-plan auth status

# 2. Activate the very same profile and repeat
bl config use --name token-plan
bl config show
bl auth status

Expected

--config <profile> selects and loads that profile's credentials, as documented
("Use a config profile from ~/.bailian/config.json"). Step 1 and step 2 should
report the same api_key / base_url / console gateway for the same profile.

Actual

Step 1 emits no config values at all — config show falls through to the
generic welcome/command list, and auth status reports the profile as
unauthenticated. Step 2 prints the credentials correctly:

api_key: [REDACTED]
base_url: https://token-plan.ap-southeast-1.maas.aliyuncs.com
workspace_id: [REDACTED]
Config: token-plan
  API key (model):  config  [REDACTED]
  Console gateway:  config  [REDACTED]  (ap-southeast-1, international)

The profile is fully populated; only the --config addressing path fails to load it.

Full output

$ bl --config token-plan config show
>>> no key/value lines emitted; the generic command list is printed instead

$ bl --config token-plan auth status
>>> generic command list printed; profile reported as unauthenticated

Exit code: 0

The exit code is 0, so this is not even detectable as a failure by scripted
callers. An agent or CI wrapper that passes --config silently runs
unauthenticated (or against the wrong profile) rather than erroring out.

JSON error (if any)

None — the command exits 0 and emits no error object, so there is nothing for a
caller to branch on.

Already tried

  • bl update (1.28.0 → 2.0.1) and bl skill update; CLI and skill versions
    aligned at 2.0.1 before reproducing
  • Reproduced on two different non-active profiles: the pre-existing
    token-plan, and a freshly created profile produced by
    bl auth login --console --console-site international --config <name>
  • Confirmed both profiles work immediately after bl config use --name <profile>,
    then break again when addressed via --config
  • Eliminated env-var precedence as a cause: bl config show documents
    flag > env > config, and the repro was run with DASHSCOPE_API_KEY fully
    unset from the environment, so nothing was shadowing the stored key

Notes

  • Frequency: always — deterministic, reproduced repeatedly on both profiles
  • Invoked via: agent (Qwen Code) driving bl non-interactively
  • Impact: multi-profile workflows are effectively unusable.
    bl auth login --console --config <name> does create a fully populated
    profile, but that profile cannot then be used via --config. The only way to
    reach it is bl config use --name <name>, which changes global state and
    disrupts whatever profile was in active use — so the flag's stated purpose
    ("Use a config profile") is not achievable.
  • Suggested fix: either make --config load the named profile's credentials
    as documented, or fail loudly (non-zero exit + explicit message) when the
    named profile cannot be resolved. Silently exiting 0 with unauthenticated
    behaviour is the worst of the two outcomes for automation.
  • Related observation (separate from this bug, reporting only in case it is the
    same root cause): bl auth login appears to reset workspace_id on the
    target profile back to the account's default workspace, even after it had been
    set explicitly with bl config set --key workspace_id. We observed it revert
    once and had to re-apply the value.
  • Possibly related open issue: #131 — same "config silently never takes effect"
    class of symptom, different mechanism.
主要言語
TypeScript
スター
536
フォーク
36
平均マージ
21時間 41分
マージ済み PR(30日)
35

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

modelstudioai/cli のほかの issue

modelstudioai/cli の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。