PageSourceSearch

https://kilo.ai/docs/_next/static/chunks/pages/ai-providers/mistral-883510bac659ad81.js

js kilo.ai collected 2026-09-24 08:57:51 UTC 8,171 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7282],{12292:(e,t,i)=>{"use strict";i.r(t),i.d(t,{__N_SSG:()=>f,default:()=>y,markdoc:()=>m});var n=i(11872),r=i(12863),a=i(92130),o=i(9760),s=i(90102),l=i(89966),d=i(48059);let c={tags:(0,o.X)(s),nodes:(0,o.X)(l),functions:(0,o.X)(d),...(0,o.X)({})},p=new a.Ay.Tokenizer({allowComments:!0}).tokenize('---\ntitle: "Using Mistral AI with Kilo Code"\ndescription: "Configure Mistral AI models, including Codestral, in Kilo Code. Guide to getting an API key and setup for VS Code and the CLI."\nsidebar_label: Mistral AI\n---\n\n# Using Mistral AI With Kilo Code\n\nKilo Code supports accessing models through the Mistral AI API, including both standard Mistral models and the code-specialized Codestral model.\n\n**Website:** [https://mistral.ai/](https://mistral.ai/)\n\n## Getting an API Key\n\n1.  **Sign Up/Sign In:** Go to the [Mistral Platform](https://console.mistral.ai/). Create an account or sign in. You may need to go through a verification process.\n2.  **Create an API Key:**\n    - [La Plateforme API Key](https://console.mistral.ai/api-keys/) and/or\n    - [Codestral API Key](https://console.mistral.ai/codestral)\n\n## Configuration in Kilo Code\n\n{% tabs %}\n{% tab label="VSCode" %}\n\nOpen **Settings** (gear icon) and go to the **Providers** tab to add Mistral and enter your API key.\n\nThe extension stores this in your `kilo.json` config file. You can also edit the config file directly — see the **CLI** tab for the file format.\n\n{% /tab %}\n{% tab label="CLI" %}\n\nSet the API key as an environment variable or configure it in your `kilo.json` config file:\n\n**Environment variable:**\n\n```bash\nexport MISTRAL_API_KEY="your-api-key"\n```\n\n**Config file** (`~/.config/kilo/kilo.json` or `./kilo.json`):\n\n```jsonc\n{\n  "provider": {\n    "mistral": {\n      "env": ["MISTRAL_API_KEY"],\n    },\n  },\n}\n```\n\nThen set your default model:\n\n```jsonc\n{\n  "model": "mistral/mistral-large-latest",\n}\n```\n\n{% /tab %}\n{% /tabs %}\n\n## Reasoning Variants\n\nMistral\'s adjustable reasoning support is exposed only for reasoning-capable Mistral Small 4 models: `mistral-small-2603` and `mistral-small-latest`. When one of these models is selected, Kilo offers a `high` variant that sends `reasoningEffort: "high"` to the Mistral provider.\n\nOther Mistral models do not get automatic reasoning variants, even if they appear in the same provider. See Mistral\'s [reasoning documentation](https://docs.mistral.ai/studio-api/conversations/reasoning) for provider-level details.\n\n## Using Codestral\n\n[Codestral](https://docs.mistral.ai/vibe/code/overview) is a model specifically designed for code generation and interaction.\nOnly for Codestral you could use different endpoints (Default: codestral.mistral.ai).\nFor the La Platforme API Key change the **Codestral Base Url** to: https://api.mistral.ai\n\nTo use Codestral:\n\n1.  **Select "Mistral" as the API Provider.**\n2.  **Select a Codestral Model**\n3.  **Enter your Codestral (codestral.mistral.ai) or La Plateforme (api.mistral.ai) API Key.**\n'),g=a.Ay.parse(p,{slots:!1}),u=g.attributes.frontmatter?r.Ay.load(g.attributes.frontmatter):{},{components:h}=(0,o._)(c);var f=!0;let m={frontmatter:u};function y(e){let t=e.markdoc;return a.ZR.react(t.content,n,{components:{...h,...e.components}})}},48059:(e,t,i)=>{"use strict";i.r(t),i.d(t,{includes:()=>n,upper:()=>r});let n={transform(e){let[t,i]=Object.values(e);return!!Array.isArray(t)&&t.includes(i)}},r={transform(e){let t=e[0];return"string"==typeof t?t.toUpperCase():t}}},49070:(e,t,i)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/ai-providers/mistral",function(){return i(12292)}])},89966:(e,t,i)=>{"use strict";i.r(t),i.d(t,{fence:()=>a,heading:()=>s,table:()=>d,tbody:()=>p,td:()=>h,th:()=>u,thead:()=>c,tr:()=>g});var n=i(92130),r=i(62968);let a={render:r.NG,attributes:n.a9.fence.attributes};function o(e){return"string"==typeof e?e:n.vw.isTag(e)?e.children.map(o).join(" "):""}let s={render:r.DZ,children:["inline"],attributes:{id:{type:String},level:{type:Number,required:!0,default:1},className:{type:String}},transform(e,t){let i=e.transformAttributes(t),r=e.transformChildren(t),a=i.id&&"string"==typeof i.id?i.id:r.map(o).join(" ").replace(/[?/]/g,"").replace(/\s+/g,"-").toLowerCase();return new n.vw(this.render,{...i,id:a},r)}};var l=i(17499);let d={...n.a9.table,render:l.XI},c={...n.a9.thead,render:l.D1},p={...n.a9.tbody,render:l.vc},g={...n.a9.tr,render:l.Tr},u={...n.a9.th,render:l.Th,attributes:{...n.a9.th.attributes,width:{type:String}}},h={...n.a9.td,render:l.Td,attributes:{...n.a9.td.attributes,colspan:{type:Number},rowspan:{type:Number}}}},90102:(e,t,i)=>{"use strict";i.r(t),i.d(t,{browserFrame:()=>m,callout:()=>r,codicon:()=>a,copyLine:()=>o,flowDiagram:()=>f,icon:()=>d,image:()=>c,imageGallery:()=>p,kiloCodeIcon:()=>g,linebreak:()=>y,tab:()=>l,tabs:()=>s,video:()=>u,youtube:()=>h});var n=i(62968);let r={render:n.Pq,children:["paragraph","tag","list"],attributes:{title:{type:String,description:"Optional custom title for the callout"}
1,type:{type:String,default:"note",matches:["generic","note","tip","info","warning","danger"],description:"The type of callout: generic (no icon/title), note, tip, info, warning, or danger"},collapsed:{type:Boolean,default:!1,description:"When true, the callout starts collapsed and can be expanded by clicking the header"}}},a={render:n.W6,selfClosing:!0,attributes:{name:{type:String,required:!0,description:"The name of the VS Code codicon (e.g., 'send', 'check', 'warning')"},size:{type:String,default:"1em",description:"The size of the icon (CSS font-size value)"},className:{type:String,default:"",description:"Additional CSS classes to apply to the icon"}}},o={render:n.a7,selfClosing:!0,attributes:{text:{type:String,required:!0,description:"The exact one-line text to display and copy"}}},s={render:n.tU,children:["tab"],attributes:{}},l={render:n.oz,children:["paragraph","tag","list","fence","heading"],attributes:{label:{type:String,required:!0,description:"The label shown on the tab button"}}},d={render:n.In,selfClosing:!0,attributes:{src:{type:String,required:!0},srcDark:{type:String,description:"Optional image source for dark mode. Falls back to src if not provided."},alt:{type:String,default:"icon"},size:{type:String,default:"1.2em"}}},c={render:n._V,selfClosing:!0,attributes:{src:{type:String,required:!0,description:"The image source URL"},alt:{type:String,required:!0,description:"Alternative text for the image"},width:{type:String,description:"Width of the image (e.g., '500px', '80%')"},height:{type:String,description:"Height of the image (e.g., '300px', 'auto')"},caption:{type:String,description:"Optional caption displayed below the image"}}},p={render:n.i_,children:["tag"],attributes:{columns:{type:String,description:"Preferred number of image columns on wide screens"},width:{type:String,description:"Preferred width of each gallery image"}}},g={render:n.kz,selfClosing:!0,attributes:{size:{type:String,default:"1.2em",description:"Size of the icon (CSS height value)"}}},u={render:n.n5,selfClosing:!0,attributes:{url:{type:String,required:!0,description:"The YouTube video URL"},title:{type:String,description:"Accessible title for the video iframe"},caption:{type:String,description:"Optional caption to display below the video"}}},h={render:n.Yu,selfClosing:!0,attributes:{url:{type:String,required:!0,description:"The YouTube video URL"},title:{type:String,description:"Accessible title for the video iframe"},caption:{type:String,description:"Optional caption to display below the video"}}},f={render:n.Cb,selfClosing:!0,attributes:{name:{type:String,required:!0,description:"Name of the diagram to render (must match a key in diagrams/index.ts)"},height:{type:String,default:"400px",description:"Height of the diagram container"}}},m={render:n.AR,children:["paragraph","tag","list"],attributes:{url:{type:String,description:"Optional URL to display in the address bar"},caption:{type:String,description:"Optional caption below the frame"}}},y={render:"br",selfClosing:!0}}},e=>{e.O(0,[8228,4720,636,6593,8792],()=>e(e.s=49070)),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.