[bug] --config <profile> silently ignores stored credentials; exits 0 unauthenticated
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) andbl 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 showdocuments
flag > env > config, and the repro was run withDASHSCOPE_API_KEYfully
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
blnon-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 isbl 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
--configload 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 loginappears to resetworkspace_idon the
target profile back to the account's default workspace, even after it had been
set explicitly withbl 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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của modelstudioai/cli
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
modelstudioai/cli#232 ·
-
[bug] bl update: darwin-arm64 binary ships invalid ad-hoc signature, killed by macOS (Killed: 9)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
modelstudioai/cli#223 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
modelstudioai/cli#231 · 1 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
modelstudioai/cli#230 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
modelstudioai/cli#202 · 1 bình luận · 1 reaction ·
Tất cả issue của modelstudioai/cli
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
melgarafael/DeskcommCRM#1812 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
prisma/prisma-cli#309 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
gregwebs/pi-quota-dispatcher#26 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
openwatersio/slackwater.xyz#124 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
agent-reported area/browser area/docs documentation good first issue hacktoberfest help wanted P2
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
Maintainer thường phản hồi trong vòng 2 ngày