Files Created by Goose
Goose creates several files and directories on disk. This page lists both the global and the local ones.
Global Files and Directories
Goose creates the following global files and directories in the user's home directory (denoted with ~):
| Location | Description | Shared between versions | Shared between clients |
|---|---|---|---|
~/.gooserc | The content of this file is executed when starting the Goose CLI client. The commands can be both dot command and SQL statements. The naming of this file follows the ~/.bashrc and ~/.zshrc “run commands” files. | Yes | Only used by CLI |
~/.goose_history | History file, similar to ~/.bash_history and ~/.zsh_history. Used by the Goose CLI client. | Yes | Only used by CLI |
~/.goose/extensions | Binaries of installed extensions. | No | Yes |
~/.goose/stored_secrets | Persistent secrets created by the Secrets manager. | Yes | Yes |
Local Files and Directories
Goose creates the following files and directories in the working directory (for in-memory connections) or relative to the database file (for persistent connections):
| Name | Description | Example |
|---|---|---|
| `⟨database_filename⟩``` | Database file. Only created in on-disk mode. The file can have any extension with typical extensions being .goose, .db and .ddb. | weather.goose |
.tmp/ | Temporary directory. Only created in in-memory mode. | .tmp/ |
| `⟨database_filename⟩.tmp/``` | Temporary directory. Only created in on-disk mode. | weather.tmp/ |
| `⟨database_filename⟩.wal``` | Write-ahead log file. If Goose exits normally, the WAL file is deleted upon exit. If Goose crashes, the WAL file is required to recover data. | weather.wal |
If you are working in a Git repository and would like to disable tracking these files by Git,
see the instructions on using .gitignore for Goose.