I put together an application which does the following: 1) Uses NSTask to set up a process 2) defines 3 pipes for stdin, stdout, and stderr to communicate to the process 3) sets up the desired parms and selects "/bin/bash" as the program path. 4) launches bash. 5) everything works beautifully a) commands typed in are picked up by bash from the stdin pipe b) bash output goes back to the application on the stdout pipe c) if I, for example, type an invalid command, the error message comes back properly on the stderr pipe. d) however, I get no Prompt. 6) If I change the bash parms to include the -i flag: a) Nothing comes back on stdout or stderr b) The bash process is in a hard loop (near 100% processor activity) c) It has to be killed with "force quit" 7) If I chage the stderr assignment to a disk file, the prompts and errors go to the disk file as expected. 8) If I remove the stderr assignment, and run the application from XCODE, the prompts and error message show up in the run log window