 	}
 	
 	@IBAction func newWorkspace(_ sender: Any?) {
-		guard let conInfo = connectionManager.localConnection, let project = conInfo.defaultProject else { fatalError() }
+		guard let conInfo = connectionManager.currentConnection, let project = conInfo.defaultProject else { fatalError() }
 		DispatchQueue.main.async {
 			let existingNames = project.workspaces.value.map { $0.name.lowercased() }
 			let prompter = InputPrompter(prompt: "Workspace name:", defaultValue: "new workspace")

			controller.window?.orderFront(self)
			return
		}
		guard let conInfo = connectionManager.localConnection
			else { Log.warn("asked to open session without connection info"); return }
		let session = Session(connectionInfo: conInfo, workspace: workspace)
		session.open().observe(on: UIScheduler()).take(during: session.lifetime).start

	/// - Parameter menu: menu to update
	fileprivate func updateOpen(menu: NSMenu) {
		menu.removeAllItems()
		guard let projects = connectionManager.currentConnection?.projects.value, projects.count > 0 else {
			return
		}
		guard projects.count > 1 else {
