As every user has his own idiosyncrasies and preferences, an interface that is honed for one user may be problematic for another. To accommodate a diverse range of users, many computer applications therefore include an interface that can be customized -- e.g., by adjusting parameters, or defining macros. This allows each user to have his "own" version of the interface, honed to his specific preferences. However, most such interfaces require the user to perform this customization by hand--a tedious process that requires the user to be aware of his personal preferences. We are therefore exploring adaptive interfaces, that can autonomously determine the user’s preference, and adjust the interface appropriately. This paper describes such an adaptive system--here a UNIXshell that can predict the user’s next command, and then use this prediction to simplify the user’s future interactions. We present a relatively simple model here, then explore a variety of techniques to improve its accuracy, including a "mixture of experts" model. In a series of experiments, on real-world data, we demonstrate (1) that the simple system can correctly predict the user’s next command almost 50% of the time, and can do so robustly -- across a range of different users; and (2) that it is extremely difficult to further improve this result.