diff --git a/plugin/commands/workspace.py b/plugin/commands/workspace.py
index 839435e..1cafb2e 100644
--- a/plugin/commands/workspace.py
+++ b/plugin/commands/workspace.py
@@ -22,22 +22,24 @@ class CodempJoinBufferCommand(sublime_plugin.WindowCommand):
         return "Join Buffer: "
 
     def input(self, args):
-        if "workspace_id" not in args:
-            wslist = session.client.active_workspaces()
-            return SimpleListInput(
-                ("workspace_id", wslist),
-            )
+        for name in ["workspace_id", "buffer_id"]:
+            if name not in args:
+                if name == "workspace_id":
+                    wslist = session.client.active_workspaces()
+                    return SimpleListInput(
+                        ("workspace_id", wslist),
+                    )
 
-        if "buffer_id" not in args:
-            try: ws = workspaces.lookupId(args["workspace_id"])
-            except KeyError:
-                sublime.error_message("Workspace does not exists or is not active.")
-                return None
+                if name == "buffer_id":
+                    try: ws = workspaces.lookupId(args["workspace_id"])
+                    except KeyError:
+                        sublime.error_message("Workspace does not exists or is not active.")
+                        return None
 
-            bflist = ws.handle.fetch_buffers().wait()
-            return SimpleListInput(
-                ("buffer_id", bflist),
-            )
+                    bflist = ws.handle.fetch_buffers().wait()
+                    return SimpleListInput(
+                        ("buffer_id", bflist),
+                    )
 
     def run(self, workspace_id, buffer_id): # pyright: ignore[reportIncompatibleMethodOverride]
         try: vws = workspaces.lookupId(workspace_id)
@@ -47,8 +49,6 @@ class CodempJoinBufferCommand(sublime_plugin.WindowCommand):
 
         try: # if it exists already, focus and listen
             buff = buffers.lookupId(buffer_id)
-            # safe_listener_detach(TEXT_LISTENER)
-            # safe_listener_attach(TEXT_LISTENER, buff.view.buffer())
             self.window.focus_view(buff.view)
             return
         except KeyError:
@@ -67,7 +67,6 @@ class CodempJoinBufferCommand(sublime_plugin.WindowCommand):
                 sublime.error_message(f"Could not attach to buffer '{buffer_id}'")
                 return
 
-
             vbuff = buffers.register(buff_ctl, vws)
             vbuff.sync(TEXT_LISTENER)