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

P4 CLI Documentation | 2026.1

# p4 init

Initializes a new P4 Server.

For distributed version control only. See P4 Server Administration Documentation (DVCS).

## Syntax

    p4 [-u user] [-d dir] [-c client] init [-h -q] [-c stream] [-Cx] [-xi -n] [-p]

Syntax and naming conventions

## Description

(DVCS) Initialize a new personal (local) P4 Server.

To run `p4 init`, you must have up-to-date and matching versions of the `p4` and `p4d` executables in your operating system path. You can download these executables from the Perforce website.

P4 Server stores its database files in the directory named `.p4root`. P4 Server stores configuration settings in the `P4CONFIG` and `P4IGNORE` files at the top level of your directory. It is not necessary to view or update these files, but you should be aware that they exist.

After initializing your new server, run `p4 reconcile` to mark all of your source files to be added to P4 Server, then `p4 submit` to submit them.

## Options

Option | Description
--- | ---
`-c stream` | Specifies the stream to use as the mainline stream instead of the default `//stream/main`.
`-C`x`` | Sets the case sensitivity of the installation. If x is set to `0`, your installation is case-sensitive, if set to `1` your installation is case-insensitive. Your client must match the case sensitivity of the server you’re fetching from or pushing to.
`-d directory` | Specifies the directory in which P4 Server initializes the server. Without this option, P4 Server initializes the server in the current directory.
`-h` | Display help for this command, as it operates on the client.
`-n` | Configures the installation without unicode support. This is useful because the unicode capability of the local server must match that of the server you fetch from and push to.
`-q` | Suppresses informational messages.
`-p` | Specifies the address of a remote server whose case sensitivity and unicode settings you want to discover. Specifying this information makes your local server compatible with the remote server.
`-u username` | Specifies your P4 Server user name.
`-xi` | Configures the installation with unicode support.
`g-opts` | See Global options.

Without `-xi` or `-n`, unicode support is detected by finding a `P4CHARSET` setting.

## Usage notes

Can File Arguments Use Revision Specifier? | Can File Arguments Use Revision Range? | Minimal Access Level Required
--- | --- | ---
N/A | N/A | N/A

## Examples

`p4 init` | Initializes a new P4 Server personal server.

## Related commands

Clone a new server | `p4 clone`

Your search for returned results