diff --git a/doc/api/graphql/reference/_index.md b/doc/api/graphql/reference/_index.md
index 17d445da84ef2fe1eb3ea821ad2d04ff7bc3dd88..703a21a6e406dc7ddbc4ef7418ae70ba3c973091 100644
--- a/doc/api/graphql/reference/_index.md
+++ b/doc/api/graphql/reference/_index.md
@@ -40358,6 +40358,7 @@ Conversation type of the thread.
 | Value | Description |
 | ----- | ----------- |
 | <a id="aiconversationsthreadsconversationtypeduo_chat"></a>`DUO_CHAT` | duo_chat thread. |
+| <a id="aiconversationsthreadsconversationtypeduo_chat_legacy"></a>`DUO_CHAT_LEGACY` | duo_chat_legacy thread. |
 | <a id="aiconversationsthreadsconversationtypeduo_code_review"></a>`DUO_CODE_REVIEW` | duo_code_review thread. |
 | <a id="aiconversationsthreadsconversationtypeduo_quick_chat"></a>`DUO_QUICK_CHAT` | duo_quick_chat thread. |
 
diff --git a/ee/app/models/ai/conversation/thread.rb b/ee/app/models/ai/conversation/thread.rb
index 644e9deec15d476e7face825b3decf59e4fc6f98..32a941709977d4b3fc658d8cf46a8b6385a9b3ca 100644
--- a/ee/app/models/ai/conversation/thread.rb
+++ b/ee/app/models/ai/conversation/thread.rb
@@ -18,9 +18,10 @@ class Thread < ApplicationRecord
       scope :ordered, -> { order(last_updated_at: :desc) }
 
       enum conversation_type: {
-        duo_chat: 1,
+        duo_chat_legacy: 1,
         duo_code_review: 2,
-        duo_quick_chat: 3
+        duo_quick_chat: 3,
+        duo_chat: 4
       }
 
       before_create :populate_organization
diff --git a/ee/lib/gitlab/llm/chat_storage/postgresql.rb b/ee/lib/gitlab/llm/chat_storage/postgresql.rb
index b44e819406806cf8447352b02c1144d1eb33ad4b..5f1f2d479aa066b7d2c199dc4025b2b4825361dd 100644
--- a/ee/lib/gitlab/llm/chat_storage/postgresql.rb
+++ b/ee/lib/gitlab/llm/chat_storage/postgresql.rb
@@ -4,7 +4,7 @@ module Gitlab
   module Llm
     class ChatStorage
       class Postgresql < Base
-        DEFAULT_CONVERSATION_TYPE = :duo_chat
+        DEFAULT_CONVERSATION_TYPE = :duo_chat_legacy
         MAX_MESSAGES = 50
 
         def add(message)
diff --git a/ee/spec/graphql/resolvers/ai/chat_messages_resolver_spec.rb b/ee/spec/graphql/resolvers/ai/chat_messages_resolver_spec.rb
index 7f7353cb77d19e630395ed26feb804b0717ead45..62bde044ec4999f3c0da1add27eb07b16705c6b8 100644
--- a/ee/spec/graphql/resolvers/ai/chat_messages_resolver_spec.rb
+++ b/ee/spec/graphql/resolvers/ai/chat_messages_resolver_spec.rb
@@ -19,7 +19,7 @@
     end
 
     context 'when there is a message' do
-      let!(:thread) { create(:ai_conversation_thread, user: user) }
+      let!(:thread) { create(:ai_conversation_thread, user: user, conversation_type: :duo_chat_legacy) }
       let!(:message) do
         create(:ai_conversation_message, created_at: Time.new(2020, 2, 2, 17, 30, 45, '+00:00'),
           thread: thread, message_xid: 'message_xid')
diff --git a/ee/spec/graphql/types/ai/conversations/threads/conversation_type_enum_spec.rb b/ee/spec/graphql/types/ai/conversations/threads/conversation_type_enum_spec.rb
new file mode 100644
index 0000000000000000000000000000000000000000..7453354f9f2078ec7056786e75822678a320308e
--- /dev/null
+++ b/ee/spec/graphql/types/ai/conversations/threads/conversation_type_enum_spec.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe GitlabSchema.types['AiConversationsThreadsConversationType'], feature_category: :duo_chat do
+  let(:expected_values) { %w[DUO_CHAT_LEGACY DUO_CODE_REVIEW DUO_QUICK_CHAT DUO_CHAT] }
+
+  subject { described_class.values.keys }
+
+  it { is_expected.to match_array(expected_values) }
+end
diff --git a/ee/spec/lib/gitlab/llm/chat_message_spec.rb b/ee/spec/lib/gitlab/llm/chat_message_spec.rb
index 19ef767f6ecd75cd0ade7e996857ba0b87c8120f..a6c91c5330e4e292615f48bb3b3762bfb68a3945 100644
--- a/ee/spec/lib/gitlab/llm/chat_message_spec.rb
+++ b/ee/spec/lib/gitlab/llm/chat_message_spec.rb
@@ -65,7 +65,7 @@
     end
 
     context 'when a thread exists for the user' do
-      let!(:thread) { create(:ai_conversation_thread, user: user) }
+      let!(:thread) { create(:ai_conversation_thread, user: user, conversation_type: :duo_chat_legacy) }
 
       it 'fetches the thread and assign it to the message' do
         expect(subject.thread).to be_nil
diff --git a/ee/spec/lib/gitlab/llm/chat_storage/postgresql_spec.rb b/ee/spec/lib/gitlab/llm/chat_storage/postgresql_spec.rb
index c6981c905c9f9bdad8d7671991c98629cc15d490..7b10f3d2d01b42de1fc5ecefad56a844a3f8c42f 100644
--- a/ee/spec/lib/gitlab/llm/chat_storage/postgresql_spec.rb
+++ b/ee/spec/lib/gitlab/llm/chat_storage/postgresql_spec.rb
@@ -156,7 +156,7 @@
       end
 
       context 'when a thread exists for the user' do
-        let!(:existing_thread) { create(:ai_conversation_thread, user: user) }
+        let!(:existing_thread) { create(:ai_conversation_thread, user: user, conversation_type: :duo_chat_legacy) }
 
         it 'returns the latest thread' do
           expect(current_thread).to eq(existing_thread)
diff --git a/ee/spec/models/ai/conversation/thread_spec.rb b/ee/spec/models/ai/conversation/thread_spec.rb
index 552bd2667c7aadff6e4b945355f9abad94491453..fbb958a92fe41c6a51b24e68cc9689fcf6ab286f 100644
--- a/ee/spec/models/ai/conversation/thread_spec.rb
+++ b/ee/spec/models/ai/conversation/thread_spec.rb
@@ -17,9 +17,10 @@
   describe 'enums' do
     it 'defines enum' do
       is_expected.to define_enum_for(:conversation_type).with_values(
-        duo_chat: 1,
+        duo_chat_legacy: 1,
         duo_code_review: 2,
-        duo_quick_chat: 3
+        duo_quick_chat: 3,
+        duo_chat: 4
       )
     end
   end