I recently moved from GNU screen to tmux.
I find it quite similar but with bigger support (I switched due to problem with escape-time in neovim- resolution was only for tmux).

Unfortunately in tmux I'm unable to find a similar command to this:

screen -X eval "chdir $(some_dir)"

The command above changed the default directory for new window/screen/pane from within the GNU screen so when I pressed Ctrl+a (similar to tmux Ctrl+b)- new window opened in the $(some_dir) directory.

Is there a similar thing in tmux?

I have used @Lqueryvg answer and combined it with @Vincent Nivoliers suggestion froma a comment and that gave me a new binding for a command attach -c "#{pane_current_path}" which sets my current directory as a default one.

  • You could use the second answer of this question Mar 8, 2016 at 13:25
  • Thanks, it is helpful. new-window -c "#{pane_current_path}" is working but what I need is to set the path permanently, i.e.: I'm working in a project in /aaa/bbb but somehow I when I change path to say /ccc/ddd and start new with C-b and c I want to land one more time in /aaa/bbb. Can you think of a solution to this?
    – lewiatan
    Mar 8, 2016 at 13:41
  • I am personally fine with the addition of the last three lines in my .tmux.conf. That way I only have to navigate once to the folder and then create my windows / split from there, but I admit this is not a solution to your problem, that's why I didn't post an answer ! Mar 8, 2016 at 13:52
  • @lewiatan Mind editing the one-line answer attach -c "#{pane_current_path}" into Lqueryvg's answer? I almost missed your comment down there and definitely your edit up here ^^'
    – nuala
    Aug 28, 2020 at 23:41
  • 1
    @nuala I'm not sure what do you want me to do. Feel free to edit my post and/or the answer if you can improve it
    – lewiatan
    Aug 31, 2020 at 20:29

2 Answers 2



  • Ctrl+b :

  • attach -c desired/directory/path

Long Answer

  1. Start tmux as follows:

     (cd /aaa/bbb; tmux)

Now, any new windows (or panes) you create will start in directory /aaa/bbb, regardless of the current directory of the current pane.

  1. If you want to change the default directory once tmux is up and running, use attach-session with -c.

Quoting from the tmux man page for attach-session:

    -c will set the session working directory (used for new windows)
    to working-directory.

For example:

  • Ctrl+b :

  • attach -c /ddd/eee

New windows (or panes) will now start in directory /ddd/eee, regardless of the directory of the current pane.

  • 11
    Second option is exactly what I wanted. I'm going to use attach -c "#{pane_current_path}" which would be the same as what I have had in screen. Thanks.
    – lewiatan
    Apr 6, 2016 at 7:54
  • 1
    Yes! attach -c is exactly what I was looking for. Thank you Aug 10, 2018 at 1:37
  • 1
    attach -c works like a charm.
    – Rakib Fiha
    Sep 14, 2020 at 7:31
  • If you are working with bash scripting, cd <dir>\n tmux new-session <options> worked for me
    – 0x5929
    May 12, 2021 at 7:50

For those who might be looking for a bit more reference than the selected answer provides, there was an another good answer to this question over on StackOverflow:


Which provides ways you can do it without leaving the session, and for those who use tmux in a multi-session fashion (like myself), the above answer gives a bit better context as to how attach/attach-session works.

See both available answers for different ways they can be used. I found both to be helpful/insightful.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.