here's my .csirc: (system "sleep 1") (use parley) (parley-debug #t) (let ((old (current-input-port))) (current-input-port (make-parley-port old))) I've put some extra debugging in parley.scm (I will put that in an annotation): If I start csi and then start typing "abcdefgh" while it's still sleeping, I see the likes of: alaric@ubuntu:~$ csi CHICKEN (c)2008-2011 The Chicken Team (c)2000-2007 Felix L. Winkelmann Version 4.7.0.3-st linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ] compiled 2011-10-11 on ubuntu (Linux) ; loading ./.csirc ... abcde; loading /usr/local/lib/chicken/6/parley.import.so ... ; loading /usr/local/lib/chicken/6/chicken.import.so ... ; loading /usr/local/lib/chicken/6/scheme.import.so ... ; loading /usr/local/lib/chicken/6/data-structures.import.so ... ; loading /usr/local/lib/chicken/6/extras.import.so ... ; loading /usr/local/lib/chicken/6/ports.import.so ... ; loading /usr/local/lib/chicken/6/posix.import.so ... ; loading /usr/local/lib/chicken/6/srfi-1.import.so ... ; loading /usr/local/lib/chicken/6/srfi-13.import.so ... ; loading /usr/local/lib/chicken/6/srfi-18.import.so ... ; loading /usr/local/lib/chicken/6/stty.import.so ... ; loading /usr/local/lib/chicken/6/srfi-69.import.so ... ; loading /usr/local/lib/chicken/6/foreign.import.so ... ; loading /usr/local/lib/chicken/6/foreigners.import.so ... ; loading /usr/local/lib/chicken/6/parley.so ... ; loading /usr/local/lib/chicken/6/stty.so ... prev input: (#\a #\b #\c #\d #\e) loop: () Entering read-raw #;1> abcde Read raw: "abcde" loop: ("abcde") So far: '("abcde")' '"abcde"' '"abcde"' Error: unbound variable: abcde prev input: (#\f) loop: () Entering read-raw #;1> f Read raw: "f" loop: ("f") So far: '("f")' '"f"' '"f"' Error: unbound variable: f prev input: (#\g) loop: () Entering read-raw #;1> g Read raw: "g" loop: ("g") So far: '("g")' '"g"' '"g"' Error: unbound variable: g prev input: (#\h) loop: () Entering read-raw #;1> h