# Dotnet fsi #cd and #silentcd

**URL:** <https://forums.fsharp.org/t/dotnet-fsi-cd-and-silentcd/3545>\
**Category:** General\
**Tags:** beginners\
**Created:** [February 21, 2024, 1:28pm UTC](https://forums.fsharp.org/t/dotnet-fsi-cd-and-silentcd/3545 "2024-02-21T13:28:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![altbodhi](https://yyz2.discourse-cdn.com/flex030/user_avatar/forums.fsharp.org/altbodhi/32/1253_2.png) [@altbodhi](https://forums.fsharp.org/u/altbodhi)\
**Post date:** [February 21, 2024, 1:28pm UTC](https://forums.fsharp.org/t/dotnet-fsi-cd-and-silentcd/3545/1 "2024-02-21T13:28:10Z")

</div>

i notice fsi sometimes invoke these commands: #cd and #silentcd, but i not found description of them. Can you help me with it?

---

<div class="post-metadata">

**Author:** ![Tbobbe](https://yyz2.discourse-cdn.com/flex030/user_avatar/forums.fsharp.org/tbobbe/32/1285_2.png) [@Tbobbe](https://forums.fsharp.org/u/Tbobbe)\
**Post date:** [February 22, 2024, 1:18pm UTC](https://forums.fsharp.org/t/dotnet-fsi-cd-and-silentcd/3545/2 "2024-02-22T13:18:23Z")

</div>

Although it’s not too hard to guess what they do (change directory), I could not find any documentation about it.  
After searching the [source code](https://github.com/dotnet/fsharp/blob/main/src/Compiler/Interactive/fsi.fs) of FSI, I found the following code as part of a pattern match:

```auto
        | ParsedHashDirective("cd", ParsedHashDirectiveArguments [path], m) ->
            ChangeDirectory path m
            istate, Completed None

        | ParsedHashDirective("silentCd", ParsedHashDirectiveArguments [path], m) ->
            ChangeDirectory path m
            fsiConsolePrompt.SkipNext() (* "silent" directive *)
            istate, Completed None

```

Basically, both directives are used to change the current directory you are in.  
For example, if you launched the FSI session in your home directory, and you run `#cd "Documents"`, you will switch to the Documents directory.
