diff --git a/languages.toml b/languages.toml
index 7ffc998b..a308e478 100644
--- a/languages.toml
+++ b/languages.toml
@@ -2081,7 +2081,7 @@ language-servers = [ "cairo-language-server" ]
 
 [[grammar]]
 name = "cairo"
-source = { git = "https://github.com/starkware-libs/tree-sitter-cairo", rev = "0596baab741ffacdc65c761d5d5ffbbeae97f033" }
+source = { git = "https://github.com/starkware-libs/tree-sitter-cairo", rev = "e3a0212261c125cb38248458cd856c0ffee2b398" }
 
 [[language]]
 name = "cpon"
diff --git a/runtime/queries/cairo/highlights.scm b/runtime/queries/cairo/highlights.scm
index d2cabd1c..16918c14 100644
--- a/runtime/queries/cairo/highlights.scm
+++ b/runtime/queries/cairo/highlights.scm
@@ -95,6 +95,12 @@
 ; -------
 ; Keywords
 ; -------
+
+(for_expression
+  "for" @keyword.control.repeat)
+
+"in" @keyword.control
+
 [
   "match"
   "if"
diff --git a/runtime/queries/cairo/indents.scm b/runtime/queries/cairo/indents.scm
index 35c16242..b20317ab 100644
--- a/runtime/queries/cairo/indents.scm
+++ b/runtime/queries/cairo/indents.scm
@@ -115,4 +115,10 @@
   (#not-same-line? @expr-start @pattern-guard)
 ) @indent
 
-  
+(for_expression
+  "in" @in
+  .
+  (_) @indent
+  (#not-same-line? @in @indent)
+  (#set! "scope" "all")
+)