p4 login

Log in to the Perforce service by obtaining a ticket.

Syntax conventions

p4 [g-opts] login [-a -p] [-h host][user]
p4 [g-opts] login -s [-a | -h host][user]
p4 [g-opts] login [-a -p] -r remotespec [--remote-user=X] p4 [g-opts] login [-s] -r remotespec [--remote-user=X]


The p4 login command authenticates a user and creates a ticket that represents a session with Helix Server. An authenticated user can access the shared versioning service until the ticket expires or the user issues the p4 logout command.

By default, tickets are valid for 12 hours. This value is defined on a per-group basis in the p4 group form.

To obtain a ticket valid for all IP addresses (for instance, to use Helix Server simultaneously on more than one workstation), use p4 login -a. Users with tickets that are valid for all IP addresses still consume only one Helix Server license.

Login attempts, whether successful or not, are logged to a structured log file. If the login fails, the reason for failure is included in the log. In the case of authentication triggers or LDAP authentication, the parts of the error message that contain user data are sanitized as needed.

If you use LDAP authentication, you can set the getattrs option in the ldap spec options field to specify whether the Fullname and Email fields for users created by p4 login are populated from the directory.



Obtain a ticket that is valid for all IP addresses.

-h host

Request a ticket that is valid for the specified host IP address.


Display the ticket, rather than storing it in the local ticket file.


Display the status of the current ticket, if one exists.

Use with -a to display status for all hosts, or with -h host to display status for a specfic host.

Users with super access can provide a username argument to display the status of that username's ticket.


Specify the remote server to which the login should be forwarded. If the remote spec passed in contains a RemoteUser entry, the login is performed for that user.


See Global options.

Usage Notes

Can File Arguments Use Revision Specifier? Can File Arguments Use Revision Range? Minimal Access Level Required



  • list
  • To create tickets that do not expire, set the timeout value to unlimited in the p4 group form.
  • By default, after 3 failed login attempts, a user must wait up to 10 seconds before logging in again. Helix Server superusers can change that default of 3 by setting the dm.user.loginattempts configurable.
  • To extend a ticket’s lifespan, use p4 login while already logged in. Your ticket’s lifespan is extended by 1/3 of its initial timeout setting, subject to a maximum of your ticket’s initial timeout setting.
  • Helix Server superusers can obtain login tickets for users other than themselves without entering passwords. Non-superusers who attempt to log in as other users must use the p4 -u username login form of the command and correctly supply the other user’s password.
  • Tickets are stored in the file specified by the P4TICKETS environment variable. If this variable is not set, tickets are stored in %USERPROFILE%\p4tickets.txt on Windows, and in $HOME/.p4tickets on other operating systems.
  • The -h option causes the service to issue a ticket that is valid on the specified host IP address. This option is typically used with -p to display a ticket that can subsequently be used on another machine.
  • In replicated environments, logging in to the master server does not log you in to any replica servers.
  • To learn about "p4 login behavior with an auth-check-sso trigger", see Single sign-on and auth-check-sso triggers in the Helix Core Server Administrator Guide.


p4 login

Prompt the user for a password. If the password is entered correctly, issue a ticket valid on the user’s machine.

p4 -u builder login -a

Attempt to log in as user builder. If the password is entered correctly, issue a ticket valid on all the client machines of this server.

p4 login -s bruno

Get the status of the specified user's ticket. The output might be:

User bruno ticket expires in 430808 hours 17 minutes.

User bruno on host Ticket: Set

Related Commands

To end a login session

p4 logout

To display tickets

p4 tickets