Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở
#229 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
68/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
node.js, typescript
Lĩnh vực
cli

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.
Ngôn ngữ chính
TypeScript
Star
333
Fork
28
Merge trung bình
1 ngày 5 giờ
Pull request đã merge (30 ngày)
37

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của modelstudioai/cli

Tất cả issue của modelstudioai/cli

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.