diff --git a/packages/app/src/pages/layout-new.tsx b/packages/app/src/pages/layout-new.tsx
index 33972f7cebe..f9222cdeb7b 100644
--- a/packages/app/src/pages/layout-new.tsx
+++ b/packages/app/src/pages/layout-new.tsx
@@ -3,18 +3,12 @@ import { useNavigate, useParams } from "@solidjs/router"
import { DebugBar } from "@/components/debug-bar"
import { HelpButton } from "@/components/help-button"
import { Titlebar, type TitlebarUpdate } from "@/components/titlebar"
-import { useCommand } from "@/context/command"
-import { useDialog } from "@opencode-ai/ui/context/dialog"
-import { useLanguage } from "@/context/language"
import { useNotification } from "@/context/notification"
import { usePlatform } from "@/context/platform"
import { setNavigate } from "@/utils/notification-click"
import { setV2Toast, ToastRegion } from "@/utils/toast"
export default function NewLayout(props: ParentProps) {
- const command = useCommand()
- const dialog = useDialog()
- const language = useLanguage()
const platform = usePlatform()
const notification = useNotification()
const navigate = useNavigate()
@@ -28,20 +22,6 @@ export default function NewLayout(props: ParentProps) {
notification.session.markViewed(params.id)
})
- command.register("layout", () => [
- {
- id: "settings.open",
- title: language.t("command.settings.open"),
- category: language.t("command.category.settings"),
- keybind: "mod+comma",
- onSelect: () => {
- void import("@/components/settings-v2").then((x) => {
- dialog.show(() => )
- })
- },
- },
- ])
-
const update: TitlebarUpdate = {
version: () => {
const state = platform.updater?.state()
diff --git a/packages/app/src/pages/new-session.tsx b/packages/app/src/pages/new-session.tsx
index fb07221b691..7ea378e3ea8 100644
--- a/packages/app/src/pages/new-session.tsx
+++ b/packages/app/src/pages/new-session.tsx
@@ -3,6 +3,7 @@ import { createStore } from "solid-js/store"
import { useSearchParams } from "@solidjs/router"
import { NewSessionDesignView } from "@/components/session"
import { PromptInput } from "@/components/prompt-input"
+import { useSettingsCommand } from "@/components/settings-dialog"
import {
PromptProjectAddButton,
PromptProjectSelector,
@@ -35,6 +36,7 @@ export default function NewSessionPage() {
const [searchParams, setSearchParams] = useSearchParams<{ draftId?: string; prompt?: string }>()
useComposerCommands()
+ useSettingsCommand()
let inputRef: HTMLDivElement | undefined
diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx
index b65c39d8593..97560a179f6 100644
--- a/packages/app/src/pages/session.tsx
+++ b/packages/app/src/pages/session.tsx
@@ -43,6 +43,7 @@ import { useSettings } from "@/context/settings"
import { useSync } from "@/context/sync"
import { useTerminal } from "@/context/terminal"
import { PromptInput } from "@/components/prompt-input"
+import { useSettingsCommand } from "@/components/settings-dialog"
import { type FollowupDraft, sendFollowupDraft } from "@/components/prompt-input/submit"
import {
createPromptInputController,
@@ -787,6 +788,7 @@ export default function Page() {
}
useComposerCommands()
+ useSettingsCommand()
useSessionCommands({
navigateMessageByOffset,
setActiveMessage,