Windows の ターミナル で Claude Code を動かしたとき、Shift+Enterで改行できるようにする方法

Claude Code で Shift+Enter と入力しても改行されずに送信されてしまうのは、Claude Code の問題ではなく、ターミナルの問題。Claude Code は Shift+Enter で改行する設計・サポートがされている。使用するターミナル環境によっては Shift+Enter を押してもただの Enter(送信)として認識されてしまい、意図せず送信されてしまう。


Windowsのターミナル(wsl.exe)での対応方法
1. Windows Terminal を開く。
2. Ctrl + Shift + , を押して settings.json を開く。
3. "actions": [...](または "keybindings": [...])の配列内に、以下の設定を追加して保存する。

{
  "command": {
    "action": "sendInput",
    "input": "\u001b[13;2u"
  },
  "keys": "shift+enter"
}

DevContainer で 起動した VSCode から Codex の認証でエラーになる場合

VSCode の Codex 拡張機能から「ChatGPTを使用してサインイン」を使って認証しようとして、リダイレクトで失敗してる場合は「ターミナル」の「ポート」で1455ポートが変なポートに転送されていないか確認する。「localhost:1455」以外の場合はこれが原因。VSCode と念のために 「WSL --shutdown」で WSL再起動すると大体治ると思う

DevContainer のコンテナで Zscaler に 邪魔されたとき

1. WSLで証明書をワークスペースへコピー

cp /usr/local/share/ca-certificates/zscaler.crt [ワークスペースのディレクトリ」


2. DevContainer のコンテナの中で実行

sudo cp zscaler.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

以下が出たらOK

1 added, 0 removed; done.


3. コンテナで確認

openssl s_client  -connect www.google.com:443  -CAfile /etc/ssl/certs/ca-certificates.crt

いかが出ればOK

Verify return code: 0 (ok)

ChatGPTのサブスクリプションでAPIぽい使い方をしてみる

# ChatGPTのサブスクを使った版
# oauth_codex は認証にしかつかっていない

import json
from typing import List, Dict, Generator
import httpx
from oauth_codex import Client

_CODEX_URL = "https://chatgpt.com/backend-api/codex/responses"

SYSTEM_PROMPT = {
    "role": "system",
    "content": "あなたは親切なAIチャットボットです。日本語で回答してください。"
}

# モデル設定
# MODEL : "gpt-5.5" / "gpt-5.4" / "gpt-5.4-mini"
# REASONING : "low"(高速・軽量) / "medium"(バランス) / "high"(深い推論) / "xhigh"(最大、デフォルト)
MODEL = "gpt-5.4"
REASONING = {"effort": "medium"}


class _Delta:
    def __init__(self, content: str) -> None:
        self.content = content

class _Choice:
    def __init__(self, content: str) -> None:
        self.delta = _Delta(content)

class _Chunk:
    def __init__(self, content: str) -> None:
        self.choices = [_Choice(content)]


# APIキーは不要。初回にブラウザでChatGPTへログイン
client = Client()
client.authenticate()


def chat_completion_stream(messages: List[Dict[str, str]]) -> Generator:
    headers = dict(client._engine._client.auth.get_headers())
    headers["Content-Type"] = "application/json"
    payload = {"model": MODEL, "stream": True, "store": False,
               "input": messages, "reasoning": REASONING}
    with httpx.stream("POST", _CODEX_URL, headers=headers, json=payload, timeout=60) as resp:
        resp.raise_for_status()
        for line in resp.iter_lines():
            if line.startswith("data: "):
                data = line[6:]
                if data == "[DONE]":
                    return
                obj = json.loads(data)
                if obj.get("type") == "response.output_text.delta":
                    yield _Chunk(obj.get("delta", ""))


response = chat_completion_stream([SYSTEM_PROMPT, {"role": "user", "content": "カレーライスの作り方を教えてください。"}])
print("".join([chunk.choices[0].delta.content or "" for chunk in response]))

イイ感じの Uncensored ローカルLLM

fredrezones55/Gemma-4-Uncensored-HauhauCS-Aggressive:e4b

ollama run fredrezones55/Gemma-4-Uncensored-HauhauCS-Aggressive:e4b

ollama.com

fredrezones55/Qwen3.5-Uncensored-HauhauCS-Aggressive

ollama run fredrezones55/Qwen3.5-Uncensored-HauhauCS-Aggressive:9b

ollama.com

Antigravity インストール メモ

インストール

参考ページ
note.com

ダウンロード

https://antigravity.google/download?hl=ja

インストールは全てデフォルトでOK

初回起動

Choose setip flow : import from VS Code
Choose on editor theme type : Tokyo Night
How do you want to use the Antigravity Agent? : Review-driven development
Keybindings : Normal
Extenssions : Recommended
Google ログイン

コマンドパレットを開き(Ctrl + Shift + P)
「Configure Display Language」を選び日本語を選ぶ

日本語化

参考ページ
note.com

その他

VS Code で使える拡張機能がすべて使えるわけではない。Remote Development が使えないのは残念