Simple and opinionated CLI tool which changes github contexts - Accounts and per-account tokens (permissions).
You can install the latest pre-built binary from releases.
Build using Docker:
docker build -t kalamarnica .Build using Cargo:
Note
MSRV is 1.88.0
Note
kalamarnica needs zlib for dynamic linker.
cargo install kalamarnicaBuild from source repository:
git clone https://github.com/Propfend/kalamarnica.git
cd kalamarnica
cargo build --release# Create context using current session information
kalamarnica create --name personal --from-current
# Create context providing specific information
kalamarnica create --name work --hostname github.com --user myuser --transport https
# Switch context
kalamarnica switch personal
# Display detailed information about all contexts
kalamarnica auth-statusList all saved contexts with their configuration. The active context is marked with *.
Show the active context and any repository-bound context.
Create a new context.
| Flag | Description |
|---|---|
--name |
Name for the new context |
--from-current |
Detect hostname and user from the current gh session |
--hostname |
GitHub hostname (e.g., github.com) |
--user |
GitHub username |
--transport |
Git transport protocol: ssh (default) or https |
--ssh-host |
SSH config host alias |
Either --from-current or both --hostname and --user are required.
Switch to a context. Applies the stored token and verifies authentication.
Store a per-context GitHub token.
Delete a context and its stored token.
Bind the current repository to a context. Creates a .ghcontext file in the repository root.
Remove the repository context binding.
Apply the repository-bound context (switch to the context specified in .ghcontext).
Show authentication status for all contexts, including host, user, transport, token, and auth verification.