-
Notifications
You must be signed in to change notification settings - Fork 39
Warehouse password silently lost when keyring is not installed #195
Copy link
Copy link
Open
Labels
bugSomething isn't workingSomething isn't workingfrom-cliFeedback submitted via CLIFeedback submitted via CLIuser-feedbackFeedback submitted by usersFeedback submitted by users
Description
When adding a Snowflake warehouse connection via warehouse_add, the password is silently discarded if the keyring Python package is not installed in the altimate-engine's venv (~/.local/share/altimate-code/engine/venv/).
Root Cause
credential_store.py → save_connection() always sets sensitive fields to null in connections.json and attempts to store them in the OS keychain via keyring. However, _keyring_available() returns False when keyring is not installed, and store_credential() silently returns False — so the password is removed from the JSON file but never persisted anywhere.
Steps to Reproduce
- Fresh install of
altimate-codevia Homebrew on macOS - The engine venv at
~/.local/share/altimate-code/engine/venv/does not includekeyring - Run
warehouse_addwith Snowflake credentials including a password connections.jsonis written with"password": nullwarehouse_testfails with251006: Password is empty- No error or warning is shown to the user during
warehouse_add
Expected Behavior
Either:
keyringshould be bundled as a dependency of the engine venv, OR- If keyring is unavailable, fall back to storing the password in
connections.json(with a warning about plaintext storage), OR - Surface an error at
warehouse_addtime: "Warning: password could not be saved — keyring package is missing"
Additional Context
- The MCP server process also caches
_keyring_cache = Falseat the module level (credential_store.py), so even after installingkeyring, a full restart of the MCP server is required before it takes effect. snowflake-connector-pythonwas also missing from the engine venv and had to be manually installed.
Workaround
Manually install keyring into the engine venv:
~/.local/share/altimate-code/engine/venv/bin/python3 -m pip install keyring
Then re-add the connection and restart the MCP server/IDE.
Metadata
| Field | Value |
|---|---|
| CLI Version | v0.2.5 |
| Platform | darwin |
| Architecture | arm64 |
| OS Release | 25.3.0 |
| Category | bug |
| Working Directory | AI-Tools |
| Session ID | ses_307cc9cbaffexaotgpBFFWoqh6 |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingfrom-cliFeedback submitted via CLIFeedback submitted via CLIuser-feedbackFeedback submitted by usersFeedback submitted by users