Hey Jon,
Capybara.app_host is a class variable that is both set and referenced globally, so multiple threads can't have multiple values for that. Other than that, you could easily build multiple instances of Capybara::Webkit::Driver or Capybara::Session. You could use your own mutex to synchronize setting the app_host and using #visit (which will reference app_host).
You may want to ask around the capybara mailing list, since I think the only thing you'll have to worry about is capybara's class variables.
-Joe