Interactive command. Authenticates the Fjall CLI and stores credentials in
~/.fjall/auth.json.Usage
fjall login authenticates the CLI against your Fjall account and stores credentials locally. There are two paths:
- Device-code (default in interactive mode): a browser window confirms the login.
- API key: paste a key from the dashboard, or pass
--api-key.
Options
Authentication Flow
Interactive login
e during this step.
If you are already logged in, the command asks before overwriting (a Yes/No selector, defaulting to No):
Device-code login
Force the browser flow even when credentials exist:API-key login
Skip the browser entirely by passing a key:How It Works
- Checks for existing credentials at
~/.fjall/auth.json. - Runs the browser device-code flow, or validates the supplied API key.
- Stores credentials locally with
0600permissions. - Confirms access to your Fjall account.
Credential Storage
Fjall writes credentials to your home directory:- Stay on your machine, never synced.
- Authenticate API requests.
- Carry restrictive file permissions (
0600). - Can be removed at any time.
CI/CD Integration
Device-code login needs an interactive browser and does not work in CI. Use a CI deploy token instead — mint one in the web app under Settings → CI/CD Tokens (see CI/CD Integration): Environment variable (recommended)FJALL_API_KEY before stored credentials, so no fjall login call is required.
Non-interactive login
--api-key or --device; the command errors otherwise. --device still needs a human to open the printed URL and approve within 15 minutes (the poll times out otherwise), so unattended pipelines should use --api-key or FJALL_API_KEY.
fjall login --api-key accepts legacy fj_ user keys only — it stores the
key as your credential. Scoped tokens (fjall_dk_ deploy tokens,
fjall_ak_ agent tokens) are not stored by fjall login; pass them via
FJALL_API_KEY instead, which every command reads directly. For pipelines
prefer a deploy token; for AI agents acting as you, use an agent token from
fjall token create.Security
- Keep the
~/.fjall/directory private. - Generate a separate API key for each environment.
- Rotate keys on a regular schedule.
Removing Credentials
Troubleshooting
Authentication failed
Not authenticated
If commands report you are not authenticated:- Run
fjall loginagain. - Confirm
~/.fjall/auth.jsonexists. - Verify the file is readable (
0600for your user).
Shared machines
Each OS user has separate credentials under their own home directory, so there are no conflicts between users.Next Steps
Create an application
Scaffold an app and its infrastructure.
Connect AWS
Link an AWS account before deploying.
Deploy
Push your application to AWS.
List resources
Inspect resources in an application’s infrastructure.
Login is optional for local-only work. It is required for any command that talks to Fjall’s cloud services.