The interaction between the user and Specware takes place through the Specware Shell.
When .sw files are processed by Specware, progress and error messages are displayed in the window containing the Specware Shell. In addition, the results of processing are saved into an internal cache that Specware maintains. Lastly, processing of certain kinds of units result in new files being created. For example, when Lisp code is generated from a spec, the code is deposited into a .lisp file.
From the Specware Shell it is possible to evaluate Metaslang expressions in the context of a given spec, either directly or through generated Lisp code.
Specware also features auxiliary commands to display information about units, inspect and clear the internal cache, and inspect and change the SWPATH environment variable, which determines how unit identifiers are resolved to .sw files.