diff --git a/src/parser/parser.yy b/src/parser/parser.yy
index 7c1ff57e66e70447eed7e576545f36e1f630a1a5..a2debc29ae25020d76e3f2be6cc098d7b7527239 100644
--- a/src/parser/parser.yy
+++ b/src/parser/parser.yy
@@ -123,7 +123,7 @@ static constexpr size_t MAX_ABS_INTEGER = 9223372036854775808ULL;
 %token KW_BOOL KW_INT8 KW_INT16 KW_INT32 KW_INT64 KW_INT KW_FLOAT KW_DOUBLE
 %token KW_STRING KW_FIXED_STRING KW_TIMESTAMP KW_DATE KW_DATETIME
 %token KW_GO KW_AS KW_TO KW_USE KW_SET KW_FROM KW_WHERE KW_ALTER
-%token KW_MATCH KW_INSERT KW_VALUES KW_YIELD KW_RETURN KW_CREATE KW_VERTEX KW_OFFLINE
+%token KW_MATCH KW_INSERT KW_VALUES KW_YIELD KW_RETURN KW_CREATE KW_VERTEX
 %token KW_EDGE KW_EDGES KW_STEPS KW_OVER KW_UPTO KW_REVERSELY KW_SPACE KW_DELETE KW_FIND KW_REBUILD
 %token KW_TAG KW_TAGS KW_UNION KW_INTERSECT KW_MINUS
 %token KW_NO KW_OVERWRITE KW_IN KW_DESCRIBE KW_DESC KW_SHOW KW_HOSTS KW_PART KW_PARTS KW_ADD
@@ -345,7 +345,6 @@ unreserved_keyword
     | KW_JOB                { $$ = new std::string("job"); }
     | KW_JOBS               { $$ = new std::string("jobs"); }
     | KW_BIDIRECT           { $$ = new std::string("bidirect"); }
-    | KW_OFFLINE            { $$ = new std::string("offline"); }
     | KW_FORCE              { $$ = new std::string("force"); }
     | KW_STATUS             { $$ = new std::string("status"); }
     | KW_PART               { $$ = new std::string("part"); }
@@ -1469,18 +1468,12 @@ rebuild_tag_index_sentence
     : KW_REBUILD KW_TAG KW_INDEX name_label {
         $$ = new RebuildTagIndexSentence($4, false);
     }
-    | KW_REBUILD KW_TAG KW_INDEX name_label KW_OFFLINE {
-        $$ = new RebuildTagIndexSentence($4, true);
-    }
     ;
 
 rebuild_edge_index_sentence
     : KW_REBUILD KW_EDGE KW_INDEX name_label {
         $$ = new RebuildEdgeIndexSentence($4, false);
     }
-    | KW_REBUILD KW_EDGE KW_INDEX name_label KW_OFFLINE {
-        $$ = new RebuildEdgeIndexSentence($4, true);
-    }
     ;
 
 traverse_sentence
diff --git a/src/parser/scanner.lex b/src/parser/scanner.lex
index 72d0e911a4f180a55429f7a5a768c20868a488aa..61b1462e66ab8267f240eca9dfebf0eb1d9f4ef5 100644
--- a/src/parser/scanner.lex
+++ b/src/parser/scanner.lex
@@ -162,7 +162,6 @@ NULL                        ([Nn][Uu][Ll][Ll])
 SNAPSHOT                    ([Ss][Nn][Aa][Pp][Ss][Hh][Oo][Tt])
 SNAPSHOTS                   ([Ss][Nn][Aa][Pp][Ss][Hh][Oo][Tt][Ss])
 FORCE                       ([Ff][Oo][Rr][Cc][Ee])
-OFFLINE                     ([Oo][Ff][Ff][Ll][Ii][Nn][Ee])
 BIDIRECT                    ([Bb][Ii][Dd][Ii][Rr][Ee][Cc][Tt])
 ACCOUNT                     ([Aa][Cc][Cc][Oo][Uu][Nn][Tt])
 DBA                         ([Dd][Bb][Aa])
@@ -308,7 +307,6 @@ FORMAT                      ([Ff][Oo][Rr][Mm][Aa][Tt])
 {DATA}                      { return TokenType::KW_DATA; }
 {SNAPSHOT}                  { return TokenType::KW_SNAPSHOT; }
 {SNAPSHOTS}                 { return TokenType::KW_SNAPSHOTS; }
-{OFFLINE}                   { return TokenType::KW_OFFLINE; }
 {ACCOUNT}                   { return TokenType::KW_ACCOUNT; }
 {JOBS}                      { return TokenType::KW_JOBS; }
 {JOB}                       { return TokenType::KW_JOB; }
diff --git a/src/parser/test/ParserTest.cpp b/src/parser/test/ParserTest.cpp
index 7c7aa0da73d1ffa18d2bc9aced0abf8fb6a79e91..7e82ab5cfe41159ab05338bd7fd277e5cb9a42a1 100644
--- a/src/parser/test/ParserTest.cpp
+++ b/src/parser/test/ParserTest.cpp
@@ -534,24 +534,12 @@ TEST(Parser, IndexOperation) {
         auto result = parser.parse(query);
         ASSERT_TRUE(result.ok()) << result.status();
     }
-    {
-        GQLParser parser;
-        std::string query = "REBUILD TAG INDEX name_index OFFLINE";
-        auto result = parser.parse(query);
-        ASSERT_TRUE(result.ok()) << result.status();
-    }
     {
         GQLParser parser;
         std::string query = "REBUILD EDGE INDEX like_index";
         auto result = parser.parse(query);
         ASSERT_TRUE(result.ok()) << result.status();
     }
-    {
-        GQLParser parser;
-        std::string query = "REBUILD EDGE INDEX like_index OFFLINE";
-        auto result = parser.parse(query);
-        ASSERT_TRUE(result.ok()) << result.status();
-    }
 }
 
 TEST(Parser, Set) {