The directory used to resolve relative filename arguments to Perforce commands.

Usage Notes

Used by Client?

Used by Server?

Command-Line Alternative

Can be set in P4CONFIG file?



p4 -d directory command


Value if not Explicitly Set

Operating System



The value of PWD as set by the shell; if not set by the shell, getcwd() is used.

All Others

The actual current working directory.


Sometimes the PWD variable isn't inherited properly across shells. For instance, if you're running ksh or sh on top of csh, PWD will be inherited from your csh environment but not updated properly, causing possible confusion in subsequent Perforce commands.

If you encounter such difficulties, check to be sure you've unset PWD in your .profile or .kshrc file. (If you're running sh or ksh as your login shell, PWD will be managed properly by the shell regardless of any unsettings you've placed in your startup files; the confusion only occurs when variables are exported to subshells.)