Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 CLI Documentation | 2026.1

# Configurables

Configurables are used to set parameters that customize P4 behavior.
For details about each configurable, including whether it affects the server, client, or proxy, see the Configurables reference.

To learn how to set configurables, see:

- Set server configurables

- Set client configurables

- Set proxy configurables

See also: Environment and registry variables.

## Set server configurables

`p4 configure show` displays the current configuration of this server.

A user with the `super` access level (or an operator user) can set or unset configurables that affect a P4 Server. These configurables are also described in the output of the `p4 help configurables` command. For options for setting server configurables, see `p4 configure`.

The DistributedConfig field of the server spec shows a line for each configurable that is set to a non-default value. In this field, you can edit the value, add a new line to set a different configurable to a non-default value, or delete a line to reset that configurable to its default value.

p4 configure history allows the super user to track the history of changes to the values of configurables.

You can set configurables that affect the server by using the following methods, which are shown in order of precedence, where 1 overrides 2, 2 overrides 3, and 3 overrides 4:

Precedence | How the value is set | Persistent configuration?
--- | --- | ---
1 | Command line "-v" options that are passed at server startup. For example:
    p4d -v net.keepalive.idle=2700
| No, but the option can be supplied each time the server is started,
2 | Using the `p4 configure set` command to set the specified configurable or environment variable for a named server or for `any` server. A configurable set for a named server overrides on that particular server a configurable set for `any` server. The p4 configure command requires the super access level A permission assigned to a user to control which commands the user can run. See also the 'protections' entry in this glossary and the 'p4 protect' command in the P4 CLI Documentation. or that the user be an operator user. See Viewing the values of configuration variables on all servers. | Yes
3 | Using environment variables. For Windows, use p4 set -S Perforce, such as p4 set -S Perforce P4DEBUG="net.keepalive.idle=2700" and the value will persist. On Unix, use the `export` command, which does not persist. | Yes only for Windows

### Server restart required for some configurables

Most configurables can be set dynamically. However, some configurables require the server to be stopped and restarted. In the Alphabetical list of configurables, these are indicated in the column with the heading "Server restart required?"

## Set client configurables

You can set configurables that affect the client by using the following methods, which are shown in order of precedence, where 1 overrides 2, 2 overrides 3, and 3 overrides 4. For example, values set in a `P4CONFIG` file override those set in a `P4ENVIRO` file.

Precedence | Method | Persistent configuration?
--- | --- | ---
`1` | Command line global options. | No
`2` | Entries in the file specified by P4CONFIG can store both configurables and Environment and registry variables. Use the `P4CONFIG` file when you want to assign values that apply to a specific workspace. For example, to turn off net.autotune for a client, add the line `net.autotune=0` to the `P4CONFIG` file. | Yes
`3` | Entries in the `P4ENVIRO` file, a file that is similar to a `P4CONFIG` file except that `P4ENVIRO` is for values that default to being constant for all projects within your depot. | Yes
`4` | `p4 set` command for Windows and macOS. | Yes

## Set proxy configurables

You can set configurables that affect the proxy in the following ways:

Precedence | Method | Example | Persistent configuration?
--- | --- | --- | ---
`1` | Command line options. |
    p4p -p tcp64:[::]:1999 -t central:1666 -r /var/proxyroot -v proxy.monitor.level=2
| No
`2` | `p4 set` command for Windows |
    p4 set -S "Perforce Proxy" P4DEBUG=net.keepalive.idle=2800
| Yes

Your search for returned results