# The CYGWIN environment variable

The `CYGWIN` environment variable is used to configure many global settings for the Cygwin runtime system. It contains the options listed below, separated by blank characters. Many options can be turned off by prefixing with `no` .

- (no)binmode - if set, non-disk (e.g. pipe and COM ports) file opens default to binary mode (no CR/LF/Ctrl-Z translations) instead of text mode. Defaults to set (binary mode). This option must be set before starting a Cygwin shell to have an effect on redirection.

  ## Warning!

  If set in 12/98 b20.1, all files always open in binary mode.

- (no)envcache - If set, environment variable conversions (between Win32 and POSIX) are cached. Note that this is may cause problems if the mount table changes, as the cache is not invalidated and may contain values that depend on the previous mount table contents. Defaults to set.

- (no)export - if set, the final values of these settings are re-exported to the environment as $CYGWIN again.

- error_start:filepath - if set, runs `filepath` when cygwin encounters a fatal error. This is useful for debugging. `filepath` is usually set to the path to the `gdb` program.

  (no)glob[:ignorecase] - if set, command line arguments containing UNIX-style file wildcard characters (brackets, question mark, asterisk, escaped with \) are expanded into lists of files that match those wildcards. This is applicable only to programs running from a DOS command line prompt. Default is set.

  This option also accepts an optional `[no]ignorecase` modifer. If supplied, wildcard matching is case insensitive. The default is `noignorecase`

- (no)ntea - if set, use the full NT Extended Attributes to store UNIX-like inode information. This option only operates under Windows NT. Defaults to not set.

  ## Warning!

  This may create additional large files on non-NTFS partitions.

- (no)ntsec - if set, use the NT security model to set UNIX-like permissions on files and processes. The file permissions can only be set on NTFS partitions. FAT doesn't support the NT file security. For more information, read the documentation in ntsec.sgml.

- (no)smbntsec - if set, use `ntsec' on remote drives as well (this is the default). If you encounter problems with NT shares or Samba drives, setting this to `nosmbntsec' could help. In that case the permission and owner/group information is faked as on FAT partitions. A reason for a non working ntsec on remote drives could be insufficient permissions of the users. Since the needed user rights are somewhat dangerous (SeRestorePrivilege) it's not always an option to grant that rights to users. However, this shouldn't be a problem in NT domain environments.

- (no)reset_com - if set, serial ports are reset to 9600-8-N-1 with no flow control when used. This is done at open time and when handles are inherited. Defaults to set.

- (no)strip_title - if set, strips the directory part off the window title, if any. Default is not set.

- (no)title - if set, the title bar reflects the name of the program currently running. Default is not set. Note that under Win9x the title bar is always enabled and it is stripped by default, but this is because of the way Win9x works. In order not to strip, specify `title` or `title nostrip_title`.

- (no)tty - if set, Cygwin enables extra support (i.e., termios) for UNIX-like ttys. It is not compatible with some Windows programs. Defaults to not set, in which case the tty is opened in text mode with ^Z as EOF. Note that this has been changed such that ^D works as expected instead of ^Z, and is settable via stty. This option must be specified before starting a Cygwin shell and it cannot be changed in the shell.