Where Does tcsh Store Config?
tcsh reads dotfiles in home: tcshrc for interactive shells, login for login shells, plus a history file.
Last updated
tcsh reads a small family of dotfiles in home rather than one XDG path. Interactive shells prefer .tcshrc, falling back to .cshrc. Login shells add .login and .history handling, which matters on macOS where terminals default to login shells.
Root historically used tcsh on BSDs, so the same files appear in root home there. All files are plain text and portable. History size and merge behavior tune inside the rc, and completion settings persist across sessions. Prompt and keybinding tweaks apply on the next shell start.
Where tcsh stores this, by platform
/home/<username>/.tcshrc
Main interactive config. Aliases, keybindings, and completion. Falls back to cshrc when absent.
/Users/<username>/.login
Login shell config on macOS terminals. Environment and path setup. Sourced once per terminal.
/home/<username>/.history
Command history file. Size and locking tune in the rc. Copy with rc files for full restores.
Frequently asked questions
How do I configure tcsh?
Create tcshrc in home with aliases, bindings, and history settings. Login shells additionally read login file on macOS terminals.
How do I migrate tcsh settings?
Copy the rc and history files to the new home folder. Completion and prompt customizations travel together.
Notice an outdated path? Let us know.