# Directory Stack
Like some other shells, Nushell provides a Directory Stack feature for easily switching between multiple directories. In Nushell, this feature is part of the [Standard Library](./standard_library.md) and can be accessed in several ways.
::: note
In Nushell, the "stack" is represented as a `list`, but the overall functionality is similar to that of other shells.
:::
[[toc]]
## `dirs` Module and Commands
To use the `dirs` command and its subcommands, first import the module using:
```nu
use std/dirs
```
::: tip
To make the feature available whenever you start Nushell, add the above command to your [startup configuration](./configuration.md).
:::
This makes several new commands available:
| Command | Description |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dirs` | Lists the directories on the stack |
| `dirs add` | Adds one or more directories to the list. The first directory listed becomes the new active directory. Similar to the `pushd` command in some other shells. |
| `dirs drop` | Drops the current directory from the list. The previous directory in the list becomes the new active directory. Similar to the `popd` command in some other shells. |
| `dirs goto` | Jumps to directory by using its index in the list |
| `dirs next` | Makes the next directory on the list the active directory. If the current active directory is the last in the list, then cycle to the start of the list. |
| `dirs prev` | Makes the previous directory on the list the active directory. If the current active directory is the first in the list, then cycle to the end of the list. |
When we start using `dirs`, there is only one directory in the list, the active one. You can, as always, change this directory using the `cd` command.
```nu
cd ~
use std/dirs
dirs
# => ╭───┬────────┬─────────────────────────────────╮
# => │ # │ active │ path │
# => ├───┼────────┼─────────────────────────────────┤
# => │ 0 │ true │ /home/myuser │
# => ╰───┴────────┴─────────────────────────────────╯
cd ~/src/repo/nushell
dirs
# => ╭───┬────────┬─────────────────────────────────╮
# => │ # │ active │ path │
# => ├───┼────────┼─────────────────────────────────┤
# => │ 0 │ true │ /home/myuser/repo/nushell │
# => ╰───┴────────┴─────────────────────────────────╯