Hello again list, Just for completeness I want to post my solution to the below issue. It turned out the behaviour was caused by the variable org-src-tab-acts-natively. When set this seems to activate reading the header arguments when tabbing in the src block. My solution now is to move the evaluation to a call statement: #+name: do-stuff #+begin_src sh echo $USER #+end_src #+CALL: do-stuff[:dir (concat "/ssh:" (read-string "login name: ") "@some.other.place:/scratch")] Regards Andreas > Hi, > > I was running in to an issue when trying to run a piece of code on a > remote machine. > I run the following: > #+begin_src sh :dir (concat > "/ssh:" (read-string "login name: ") "@some.other.place:") > echo $USER > #+end_src > > the idea here was that the code block would prompt the user for the login > name and proceed to evalue the code on the remote machine. This works as I > want it. > However now when I try to edit the code in the block and press TAB for > indentation the block prompts me again for a "user name:" twice. > > I'm not sure how to go further from here or why this last thing happens. > I'm guessing that the header string is read when the code block tries to > determine what code is in there but is there a way to get the behaviour I > want without this side effect? > > Regards >