Edit a JFrog CLI server configuration
jf config edit updates an existing server entry in the CLI configuration. In a normal terminal, the command opens interactive prompts so you can change fields safely. In CI/CD or scripts, you can pass --interactive=false and flags for only the values you want to change — with important caveats about fields that are cleared when not supplied.
Prerequisite: JFrog CLI is installed on your PATH, and at least one server is already configured. To list server IDs, use jf config show. To create a server, see jf config add.
Warning — data loss risk
When running non-interactively (either by passing
--interactive=falseor in any environment where$CIis set, since the CLI automatically disables interactive mode when$CI=true), any field you do not explicitly pass as a flag will be cleared and saved as empty. The command exits 0 with no error or warning. Always pass every field you want to preserve when running non-interactively, and verify results withjf config show <server-id>afterwards.
This topic covers:
- Edit a server configuration interactively
- Edit a server configuration non-interactively
- Replace a full configuration with add and overwrite
Synopsis
jf config edit <server-id>
Aliases: jf c edit
Where:
<server-id>: The configured server ID to edit. Runjf config showto list IDs.
Arguments
| Argument | Required | Description |
|---|---|---|
server-id | Yes | The server ID to edit. Run jf config show to list configured server IDs. |
Options
| Flag | Default | Description |
|---|---|---|
--url | — | JFrog Platform URL (for example, https://acme.jfrog.io) |
--access-token | — | JFrog Platform access token |
--access-token-stdin | false | Read the access token from stdin instead of the flag value |
--user | — | JFrog Platform username |
--password | — | JFrog Platform password or API key |
--password-stdin | false | Read the password from stdin instead of the flag value |
--interactive | true (auto false when $CI=true) | Set to false to disable prompts and apply values from flags directly |
--artifactory-url | — | Override the Artifactory URL (for example, https://acme.jfrog.io/artifactory) |
--distribution-url | — | Override the Distribution URL |
--xray-url | — | Override the Xray URL |
--pipelines-url | — | Override the Pipelines URL |
--mission-control-url | — | Override the Mission Control URL |
--ssh-key-path | — | Path to an SSH key file |
--ssh-passphrase | — | Passphrase for the SSH key |
--client-cert-path | — | Client certificate file in PEM format |
--client-cert-key-path | — | Private key for the client certificate in PEM format |
--basic-auth-only | false | Disable automatic replacement of username/password with a refreshed access token |
--enc-password | true | Set to false to skip encrypting the password via Artifactory's encryption API |
--insecure-tls | false | Skip TLS certificate verification (use with --enc-password=false in self-signed cert environments) |
--disable-token-refresh | false | Disable automatic hourly refresh of the access token |
Examples
Edit a Server Configuration
The CLI presents each field with the current value shown in brackets — press Enter to keep it, or type a new value.
To edit a server configuration interactively:
-
Run the following command:
jf config edit <server-id>Where:
<server-id>: The server ID to edit.
For example:
jf config edit myserver -
Complete the prompts. Example session (current values shown in brackets; pressing Enter keeps them):
JFrog Platform URL [https://mycompany.jfrog.io/]: User [admin]: Password: Access Token [***]: SSH Key File Path []: Client Certificate File Path []: Client Certificate Key Path []: -
Confirm the update. After all prompts complete, the CLI prints no output.
To verify your changes:
-
Run:
jf config show <server-id>Where:
<server-id>: Same server you edited.
For example:
jf config show myserver
Non-Interactive Usage (CI/CD)
Pass --interactive=false along with the flags for every field you want to retain. Only the fields you specify are written; all other fields are cleared, so always pass every field you need to keep.
To rotate an access token non-interactively:
-
Run the following command, supplying every field you must preserve (including URL and new token):
jf config edit <server-id> \ --interactive=false \ --url=<your-server-url> \ --access-token=<Token>Where:
<server-id>: The server ID to edit.<your-server-url>: JFrog Platform URL for this server.<Token>: New access token. Do not use a sample value in real environments.
For example:
jf config edit myserver \ --interactive=false \ --url=https://mycompany.jfrog.io/ \ --access-token=<Token>
To update the platform URL after a domain change:
-
Run:
jf config edit <server-id> \ --interactive=false \ --url=<new-platform-url> \ --access-token=<Token>Where:
<server-id>: The server ID to edit.<new-platform-url>: The new JFrog Platform base URL.<Token>: Current valid access token.
For example:
jf config edit myserver \ --interactive=false \ --url=https://newdomain.jfrog.io/ \ --access-token=<Token>
Note
In CI/CD environments,
$CIis typically set totrue, which causes--interactiveto default tofalseautomatically. The same data-loss risk applies — always pass all required flags explicitly.
Replace a full configuration with add and overwrite
Alternatively, jf config add --overwrite --interactive=false replaces the entire configuration entry and is useful when you want to fully re-provision a server config from scratch.
To replace a server configuration using add and overwrite:
-
Run:
jf config add <server-id> \ --url=<your-server-url> \ --access-token=<Token> \ --interactive=false \ --overwriteWhere:
<server-id>: Existing server ID to replace.<your-server-url>: JFrog Platform URL.<Token>: Access token for authentication.
For example:
jf config add myserver \ --url=https://mycompany.jfrog.io/ \ --access-token=<Token> \ --interactive=false \ --overwrite
When to Use
Use jf config edit when you need to update one or more fields in an existing server configuration — for example, rotating an access token or updating a URL after a domain change. It works in both interactive terminal sessions and non-interactive environments (CI/CD, scripts) when combined with --interactive=false and the relevant flags.
Use jf config add --overwrite instead when you want to fully replace an existing configuration entry from scratch rather than patch specific fields.
Important Notes
- Non-interactive mode clears unspecified fields. When
--interactive=falseis set (or when$CI=true, which triggers non-interactive mode automatically), any field you do not pass as a flag is saved as empty. There is no warning. Always pass every field you want to keep, and verify withjf config show <server-id>afterwards. $CI=truedisables interactive mode automatically. In CI/CD pipelines where theCIenvironment variable is set, the command runs non-interactively by default — even without--interactive=false. This matches the behavior ofjf config add.- Blank input clears the field (interactive mode). In interactive mode, pressing Enter without typing keeps the current value. Typing a blank value clears the field immediately — there is no undo.
- No confirmation step. Changes are committed immediately after the final prompt (interactive) or after the command runs (non-interactive). There is no "save changes? (y/N)" prompt.
- The command produces no success output. On success the command exits 0 silently. Run
jf config show <server-id>to verify your changes. - Editing does not change the server ID. To rename a server, remove it with
jf config removeand add a new one withjf config add. - The default server status is editable during the prompts. If you step through prompts on your default server, confirm the default field to avoid unintentionally changing it.
- If you have
JFROG_CLI_ENCRYPTION_KEYset, edited credentials are re-encrypted with the same key. If the key has changed since the server was originally configured, re-enter your credentials during the edit to ensure they are encrypted correctly.
Updated 12 days ago
